* [PATCH v4 00/22] Added support for ASX vector instructions.
@ 2023-09-13 3:38 Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 01/22] LoongArch: Add tests for ASX vector xvadd/xvadda/xvaddi/xvaddwev/ xvaddwodxvsadd instructions Xiaolong Chen
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Xiaolong Chen @ 2023-09-13 3:38 UTC (permalink / raw)
To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen
In order to better test the function of the vector instruction, the 256
bit test cases are further split according to the function of the instruction.
Xiaolong Chen (22):
LoongArch: Add tests for ASX vector xvadd/xvadda/xvaddi/xvaddwev/
xvaddwodxvsadd instructions.
LoongArch: Add tests for ASX vector xvhadd/xvhaddw/xvmaddwev/xvmaddwod
instructions.
LoongArch: Add tests for ASX vector subtraction instructions.
LoongArch: Add tests for ASX vector xvmul/xvmod/xvdiv instructions.
LoongArch: Add tests for ASX vector xvmax/xvmaxi/xvmin/xvmini
instructions.
LoongArch: Add tests for ASX vector
xvldi/xvmskgez/xvmskltz/xvmsknz/xvmuh /xvsigncov instructions.
LoongArch: Add tests for ASX vector xvand/xvandi/xvandn/xvor/xvori/
xvnor/xvnori/xvxor/xvxori instructions.
LoongArch: Add tests for ASX vector xvsll/xvsrl instructions.
LoongArch: Add tests for ASX vector xvextl/xvsra/xvsran/xvsrarn
instructions.
LoongArch: Add tests for ASX vector
xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/
xvssrlni/xvssrlrn/xvssrlrni instructions.
LoongArch: Add tests for ASX vector
xvbitclr/xvbitclri/xvbitrev/xvbitrevi/
xvbitsel/xvbitseli/xvbitset/xvbitseti/xvclo/xvclz/xvpcnt
instructions.
LoongArch: Add tests for ASX builtin functions.
LoongArch: Add tests for ASX xvldrepl/xvstelm instruction generation.
LoongArch: Add tests for ASX vector floating-point operation
instruction.
LoongArch: Add tests for ASX vector floating-point conversion
instruction.
LoongArch: Add tests for ASX vector comparison and selection
instruction.
LoongArch: Add tests for ASX vector xvfnmadd/xvfrstp/xvfstpi/xvhsubw/
xvmsub/xvrotr/xvrotri/xvld/xvst instructions.
LoongArch: Add tests for ASX vector
xvabsd/xvavg/xvavgr/xvbsll/xvbsrl/xvneg/ xvsat instructions.
LoongArch: Add tests for ASX vector
xvfcmp{caf/ceq/cle/clt/cne/cor/cun} instructions.
LoongArch: Add tests for ASX vector
xvfcmp{saf/seq/sle/slt/sne/sor/sun} instructions.
LoongArch: Add tests for ASX vector
xvext2xv/xvexth/xvextins/xvilvh/xvilvl/xvinsgr2vr/
xvinsve0/xvprem/xvpremi instructions.
LoongArch: Add tests for ASX vector
xvpackev/xvpackod/xvpickev/xvpickod/
xvpickve2gr/xvreplgr2vr/xvreplve/xvreplve0/xvreplvei/xvshuf4i/xvshuf
instructions.
.../loongarch/vector/lasx/lasx-builtin.c | 1509 ++++++++++++++++
.../loongarch/vector/lasx/lasx-xvabsd-1.c | 485 +++++
.../loongarch/vector/lasx/lasx-xvabsd-2.c | 650 +++++++
.../loongarch/vector/lasx/lasx-xvadd.c | 725 ++++++++
.../loongarch/vector/lasx/lasx-xvadda.c | 785 ++++++++
.../loongarch/vector/lasx/lasx-xvaddi.c | 427 +++++
.../loongarch/vector/lasx/lasx-xvaddwev-1.c | 740 ++++++++
.../loongarch/vector/lasx/lasx-xvaddwev-2.c | 485 +++++
.../loongarch/vector/lasx/lasx-xvaddwev-3.c | 515 ++++++
.../loongarch/vector/lasx/lasx-xvaddwod-1.c | 530 ++++++
.../loongarch/vector/lasx/lasx-xvaddwod-2.c | 560 ++++++
.../loongarch/vector/lasx/lasx-xvaddwod-3.c | 485 +++++
.../loongarch/vector/lasx/lasx-xvand.c | 155 ++
.../loongarch/vector/lasx/lasx-xvandi.c | 196 ++
.../loongarch/vector/lasx/lasx-xvandn.c | 125 ++
.../loongarch/vector/lasx/lasx-xvavg-1.c | 680 +++++++
.../loongarch/vector/lasx/lasx-xvavg-2.c | 560 ++++++
.../loongarch/vector/lasx/lasx-xvavgr-1.c | 770 ++++++++
.../loongarch/vector/lasx/lasx-xvavgr-2.c | 650 +++++++
.../loongarch/vector/lasx/lasx-xvbitclr.c | 635 +++++++
.../loongarch/vector/lasx/lasx-xvbitclri.c | 515 ++++++
.../loongarch/vector/lasx/lasx-xvbitrev.c | 650 +++++++
.../loongarch/vector/lasx/lasx-xvbitrevi.c | 317 ++++
.../loongarch/vector/lasx/lasx-xvbitsel.c | 134 ++
.../loongarch/vector/lasx/lasx-xvbitseli.c | 185 ++
.../loongarch/vector/lasx/lasx-xvbitset.c | 620 +++++++
.../loongarch/vector/lasx/lasx-xvbitseti.c | 405 +++++
.../loongarch/vector/lasx/lasx-xvbsll_v.c | 130 ++
.../loongarch/vector/lasx/lasx-xvbsrl_v.c | 64 +
.../loongarch/vector/lasx/lasx-xvclo.c | 449 +++++
.../loongarch/vector/lasx/lasx-xvclz.c | 504 ++++++
.../loongarch/vector/lasx/lasx-xvdiv-1.c | 485 +++++
.../loongarch/vector/lasx/lasx-xvdiv-2.c | 500 ++++++
.../loongarch/vector/lasx/lasx-xvext2xv-1.c | 515 ++++++
.../loongarch/vector/lasx/lasx-xvext2xv-2.c | 669 +++++++
.../loongarch/vector/lasx/lasx-xvexth-1.c | 350 ++++
.../loongarch/vector/lasx/lasx-xvexth-2.c | 592 ++++++
.../loongarch/vector/lasx/lasx-xvextl-1.c | 86 +
.../loongarch/vector/lasx/lasx-xvextl-2.c | 163 ++
.../loongarch/vector/lasx/lasx-xvextrins.c | 515 ++++++
.../loongarch/vector/lasx/lasx-xvfadd_d.c | 545 ++++++
.../loongarch/vector/lasx/lasx-xvfadd_s.c | 911 ++++++++++
.../loongarch/vector/lasx/lasx-xvfclass_d.c | 152 ++
.../loongarch/vector/lasx/lasx-xvfclass_s.c | 95 +
.../loongarch/vector/lasx/lasx-xvfcmp_caf_s.c | 446 +++++
.../loongarch/vector/lasx/lasx-xvfcmp_ceq_s.c | 977 ++++++++++
.../loongarch/vector/lasx/lasx-xvfcmp_cle_s.c | 759 ++++++++
.../loongarch/vector/lasx/lasx-xvfcmp_clt_s.c | 675 +++++++
.../loongarch/vector/lasx/lasx-xvfcmp_cne_s.c | 872 +++++++++
.../loongarch/vector/lasx/lasx-xvfcmp_cor_s.c | 340 ++++
.../loongarch/vector/lasx/lasx-xvfcmp_cun_s.c | 361 ++++
.../loongarch/vector/lasx/lasx-xvfcmp_saf_s.c | 424 +++++
.../loongarch/vector/lasx/lasx-xvfcmp_seq_s.c | 924 ++++++++++
.../loongarch/vector/lasx/lasx-xvfcmp_sle_s.c | 627 +++++++
.../loongarch/vector/lasx/lasx-xvfcmp_slt_s.c | 1212 +++++++++++++
.../loongarch/vector/lasx/lasx-xvfcmp_sne_s.c | 756 ++++++++
.../loongarch/vector/lasx/lasx-xvfcmp_sor_s.c | 438 +++++
.../loongarch/vector/lasx/lasx-xvfcmp_sun_s.c | 363 ++++
.../loongarch/vector/lasx/lasx-xvfcvt.c | 528 ++++++
.../loongarch/vector/lasx/lasx-xvfcvth.c | 485 +++++
.../loongarch/vector/lasx/lasx-xvffint-1.c | 375 ++++
.../loongarch/vector/lasx/lasx-xvffint-2.c | 246 +++
.../loongarch/vector/lasx/lasx-xvffinth.c | 262 +++
.../loongarch/vector/lasx/lasx-xvflogb_d.c | 86 +
.../loongarch/vector/lasx/lasx-xvflogb_s.c | 115 ++
.../loongarch/vector/lasx/lasx-xvfmadd_d.c | 382 ++++
.../loongarch/vector/lasx/lasx-xvfmadd_s.c | 720 ++++++++
.../loongarch/vector/lasx/lasx-xvfmax_d.c | 230 +++
.../loongarch/vector/lasx/lasx-xvfmax_s.c | 560 ++++++
.../loongarch/vector/lasx/lasx-xvfmaxa_d.c | 230 +++
.../loongarch/vector/lasx/lasx-xvfmaxa_s.c | 506 ++++++
.../loongarch/vector/lasx/lasx-xvfnmadd_d.c | 324 ++++
.../loongarch/vector/lasx/lasx-xvfnmadd_s.c | 895 ++++++++++
.../loongarch/vector/lasx/lasx-xvfrint_d.c | 429 +++++
.../loongarch/vector/lasx/lasx-xvfrint_s.c | 723 ++++++++
.../loongarch/vector/lasx/lasx-xvfrstp.c | 381 ++++
.../loongarch/vector/lasx/lasx-xvfrstpi.c | 350 ++++
.../loongarch/vector/lasx/lasx-xvfsqrt_d.c | 482 +++++
.../loongarch/vector/lasx/lasx-xvfsqrt_s.c | 457 +++++
.../loongarch/vector/lasx/lasx-xvftint-1.c | 471 +++++
.../loongarch/vector/lasx/lasx-xvftint-2.c | 1565 ++++++++++++++++
.../loongarch/vector/lasx/lasx-xvftint-3.c | 511 ++++++
.../loongarch/vector/lasx/lasx-xvftintl.c | 1580 +++++++++++++++++
.../loongarch/vector/lasx/lasx-xvhaddw-1.c | 560 ++++++
.../loongarch/vector/lasx/lasx-xvhaddw-2.c | 650 +++++++
.../loongarch/vector/lasx/lasx-xvhsubw-1.c | 620 +++++++
.../loongarch/vector/lasx/lasx-xvhsubw-2.c | 545 ++++++
.../loongarch/vector/lasx/lasx-xvilvh.c | 530 ++++++
.../loongarch/vector/lasx/lasx-xvilvl.c | 620 +++++++
.../loongarch/vector/lasx/lasx-xvinsgr2vr.c | 272 +++
.../loongarch/vector/lasx/lasx-xvinsve0.c | 380 ++++
.../loongarch/vector/lasx/lasx-xvld.c | 86 +
.../loongarch/vector/lasx/lasx-xvldi.c | 83 +
.../loongarch/vector/lasx/lasx-xvldrepl.c | 16 +
.../loongarch/vector/lasx/lasx-xvmadd.c | 742 ++++++++
.../loongarch/vector/lasx/lasx-xvmaddwev-1.c | 856 +++++++++
.../loongarch/vector/lasx/lasx-xvmaddwev-2.c | 723 ++++++++
.../loongarch/vector/lasx/lasx-xvmaddwev-3.c | 940 ++++++++++
.../loongarch/vector/lasx/lasx-xvmaddwod-1.c | 742 ++++++++
.../loongarch/vector/lasx/lasx-xvmaddwod-2.c | 799 +++++++++
.../loongarch/vector/lasx/lasx-xvmaddwod-3.c | 820 +++++++++
.../loongarch/vector/lasx/lasx-xvmax-1.c | 545 ++++++
.../loongarch/vector/lasx/lasx-xvmax-2.c | 560 ++++++
.../loongarch/vector/lasx/lasx-xvmaxi-1.c | 471 +++++
.../loongarch/vector/lasx/lasx-xvmaxi-2.c | 504 ++++++
.../loongarch/vector/lasx/lasx-xvmin-1.c | 575 ++++++
.../loongarch/vector/lasx/lasx-xvmin-2.c | 680 +++++++
.../loongarch/vector/lasx/lasx-xvmini-1.c | 416 +++++
.../loongarch/vector/lasx/lasx-xvmini-2.c | 284 +++
.../loongarch/vector/lasx/lasx-xvmod-1.c | 395 +++++
.../loongarch/vector/lasx/lasx-xvmod-2.c | 410 +++++
.../loongarch/vector/lasx/lasx-xvmskgez.c | 86 +
.../loongarch/vector/lasx/lasx-xvmskltz.c | 373 ++++
.../loongarch/vector/lasx/lasx-xvmsknz.c | 163 ++
.../loongarch/vector/lasx/lasx-xvmsub.c | 647 +++++++
.../loongarch/vector/lasx/lasx-xvmuh-1.c | 650 +++++++
.../loongarch/vector/lasx/lasx-xvmuh-2.c | 635 +++++++
.../loongarch/vector/lasx/lasx-xvmul.c | 620 +++++++
.../loongarch/vector/lasx/lasx-xvmulwev-1.c | 590 ++++++
.../loongarch/vector/lasx/lasx-xvmulwev-2.c | 590 ++++++
.../loongarch/vector/lasx/lasx-xvmulwev-3.c | 605 +++++++
.../loongarch/vector/lasx/lasx-xvmulwod-1.c | 545 ++++++
.../loongarch/vector/lasx/lasx-xvmulwod-2.c | 470 +++++
.../loongarch/vector/lasx/lasx-xvmulwod-3.c | 440 +++++
.../loongarch/vector/lasx/lasx-xvneg.c | 526 ++++++
.../loongarch/vector/lasx/lasx-xvnor.c | 170 ++
.../loongarch/vector/lasx/lasx-xvnori.c | 152 ++
.../loongarch/vector/lasx/lasx-xvor.c | 215 +++
.../loongarch/vector/lasx/lasx-xvori.c | 141 ++
.../loongarch/vector/lasx/lasx-xvorn.c | 245 +++
.../loongarch/vector/lasx/lasx-xvpackev.c | 501 ++++++
.../loongarch/vector/lasx/lasx-xvpackod.c | 575 ++++++
.../loongarch/vector/lasx/lasx-xvpcnt.c | 526 ++++++
.../loongarch/vector/lasx/lasx-xvpickev.c | 515 ++++++
.../loongarch/vector/lasx/lasx-xvpickod.c | 530 ++++++
.../loongarch/vector/lasx/lasx-xvpickve.c | 130 ++
.../loongarch/vector/lasx/lasx-xvpickve2gr.c | 388 ++++
.../loongarch/vector/lasx/lasx-xvprem.c | 20 +
.../loongarch/vector/lasx/lasx-xvpremi.c | 20 +
.../loongarch/vector/lasx/lasx-xvreplgr2vr.c | 380 ++++
.../loongarch/vector/lasx/lasx-xvreplve.c | 536 ++++++
.../loongarch/vector/lasx/lasx-xvreplve0.c | 471 +++++
.../loongarch/vector/lasx/lasx-xvreplvei.c | 20 +
.../loongarch/vector/lasx/lasx-xvrotr.c | 530 ++++++
.../loongarch/vector/lasx/lasx-xvrotri.c | 394 ++++
.../loongarch/vector/lasx/lasx-xvsadd-1.c | 650 +++++++
.../loongarch/vector/lasx/lasx-xvsadd-2.c | 350 ++++
.../loongarch/vector/lasx/lasx-xvsat-1.c | 537 ++++++
.../loongarch/vector/lasx/lasx-xvsat-2.c | 427 +++++
.../loongarch/vector/lasx/lasx-xvseq.c | 650 +++++++
.../loongarch/vector/lasx/lasx-xvseqi.c | 449 +++++
.../loongarch/vector/lasx/lasx-xvshuf4i_b.c | 430 +++++
.../loongarch/vector/lasx/lasx-xvshuf_b.c | 761 ++++++++
.../loongarch/vector/lasx/lasx-xvsigncov.c | 665 +++++++
.../loongarch/vector/lasx/lasx-xvsle-1.c | 575 ++++++
.../loongarch/vector/lasx/lasx-xvsle-2.c | 590 ++++++
.../loongarch/vector/lasx/lasx-xvslei-1.c | 515 ++++++
.../loongarch/vector/lasx/lasx-xvslei-2.c | 438 +++++
.../loongarch/vector/lasx/lasx-xvsll.c | 425 +++++
.../loongarch/vector/lasx/lasx-xvslli.c | 416 +++++
.../loongarch/vector/lasx/lasx-xvsllwil-1.c | 339 ++++
.../loongarch/vector/lasx/lasx-xvsllwil-2.c | 350 ++++
.../loongarch/vector/lasx/lasx-xvslt-1.c | 455 +++++
.../loongarch/vector/lasx/lasx-xvslt-2.c | 620 +++++++
.../loongarch/vector/lasx/lasx-xvslti-1.c | 548 ++++++
.../loongarch/vector/lasx/lasx-xvslti-2.c | 416 +++++
.../loongarch/vector/lasx/lasx-xvsra.c | 545 ++++++
.../loongarch/vector/lasx/lasx-xvsrai.c | 504 ++++++
.../loongarch/vector/lasx/lasx-xvsran.c | 455 +++++
.../loongarch/vector/lasx/lasx-xvsrani.c | 545 ++++++
.../loongarch/vector/lasx/lasx-xvsrar.c | 725 ++++++++
.../loongarch/vector/lasx/lasx-xvsrari.c | 471 +++++
.../loongarch/vector/lasx/lasx-xvsrarn.c | 500 ++++++
.../loongarch/vector/lasx/lasx-xvsrarni.c | 636 +++++++
.../loongarch/vector/lasx/lasx-xvsrl.c | 650 +++++++
.../loongarch/vector/lasx/lasx-xvsrli.c | 405 +++++
.../loongarch/vector/lasx/lasx-xvsrln.c | 425 +++++
.../loongarch/vector/lasx/lasx-xvsrlni.c | 680 +++++++
.../loongarch/vector/lasx/lasx-xvsrlr.c | 515 ++++++
.../loongarch/vector/lasx/lasx-xvsrlri.c | 416 +++++
.../loongarch/vector/lasx/lasx-xvsrlrn.c | 410 +++++
.../loongarch/vector/lasx/lasx-xvsrlrni.c | 455 +++++
.../loongarch/vector/lasx/lasx-xvssran.c | 905 ++++++++++
.../loongarch/vector/lasx/lasx-xvssrani.c | 1235 +++++++++++++
.../loongarch/vector/lasx/lasx-xvssrarn.c | 905 ++++++++++
.../loongarch/vector/lasx/lasx-xvssrarni.c | 1160 ++++++++++++
.../loongarch/vector/lasx/lasx-xvssrln.c | 965 ++++++++++
.../loongarch/vector/lasx/lasx-xvssrlni.c | 1130 ++++++++++++
.../loongarch/vector/lasx/lasx-xvssrlrn.c | 815 +++++++++
.../loongarch/vector/lasx/lasx-xvssrlrni.c | 1160 ++++++++++++
.../loongarch/vector/lasx/lasx-xvssub-1.c | 425 +++++
.../loongarch/vector/lasx/lasx-xvssub-2.c | 695 ++++++++
.../loongarch/vector/lasx/lasx-xvst.c | 102 ++
.../loongarch/vector/lasx/lasx-xvstelm.c | 14 +
.../loongarch/vector/lasx/lasx-xvsub.c | 590 ++++++
.../loongarch/vector/lasx/lasx-xvsubi.c | 482 +++++
.../loongarch/vector/lasx/lasx-xvsubwev-1.c | 530 ++++++
.../loongarch/vector/lasx/lasx-xvsubwev-2.c | 440 +++++
.../loongarch/vector/lasx/lasx-xvsubwod-1.c | 695 ++++++++
.../loongarch/vector/lasx/lasx-xvsubwod-2.c | 620 +++++++
.../loongarch/vector/lasx/lasx-xvxor.c | 185 ++
.../loongarch/vector/lasx/lasx-xvxori.c | 163 ++
202 files changed, 103667 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadd.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadda.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvand.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandn.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitset.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclo.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclz.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextl-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextl-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextrins.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_caf_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_ceq_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cle_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_clt_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cne_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cor_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cun_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvh.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvl.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvld.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldrepl.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmadd.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsub.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmul.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvneg.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnor.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnori.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvor.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvori.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvorn.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackev.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackod.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickev.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickod.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvprem.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpremi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotr.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotri.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseq.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseqi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsll.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslli.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsra.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrai.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsran.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrani.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrar.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrari.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrarn.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrarni.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrl.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrli.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrln.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssran.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrani.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrln.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvst.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvstelm.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxor.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxori.c
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 01/22] LoongArch: Add tests for ASX vector xvadd/xvadda/xvaddi/xvaddwev/ xvaddwodxvsadd instructions.
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
@ 2023-09-13 3:38 ` Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 02/22] LoongArch: Add tests for ASX vector xvhadd/xvhaddw/xvmaddwev/xvmaddwod instructions Xiaolong Chen
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Xiaolong Chen @ 2023-09-13 3:38 UTC (permalink / raw)
To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/vector/lasx/lasx-xvadd.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvadda.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvaddi.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c: New test.
---
.../loongarch/vector/lasx/lasx-xvadd.c | 725 ++++++++++++++++
.../loongarch/vector/lasx/lasx-xvadda.c | 785 ++++++++++++++++++
.../loongarch/vector/lasx/lasx-xvaddi.c | 427 ++++++++++
.../loongarch/vector/lasx/lasx-xvaddwev-1.c | 740 +++++++++++++++++
.../loongarch/vector/lasx/lasx-xvaddwev-2.c | 485 +++++++++++
.../loongarch/vector/lasx/lasx-xvaddwev-3.c | 515 ++++++++++++
.../loongarch/vector/lasx/lasx-xvaddwod-1.c | 530 ++++++++++++
.../loongarch/vector/lasx/lasx-xvaddwod-2.c | 560 +++++++++++++
.../loongarch/vector/lasx/lasx-xvaddwod-3.c | 485 +++++++++++
.../loongarch/vector/lasx/lasx-xvsadd-1.c | 650 +++++++++++++++
.../loongarch/vector/lasx/lasx-xvsadd-2.c | 350 ++++++++
11 files changed, 6252 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadd.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadda.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadd.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadd.c
new file mode 100644
index 00000000000..29329572364
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadd.c
@@ -0,0 +1,725 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+ __m256i_out = __lasx_xvadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffefefffffefe;
+ __m256i_out = __lasx_xvadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x41cfe01dde000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x41cfe01dde000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x41cfe01dde000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x41cfe01dde000000;
+ __m256i_out = __lasx_xvadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000004000000040;
+ __m256i_out = __lasx_xvadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffefffefffefffe;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000200;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7f8000007f800000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7f8000007f800000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7f8000007f800000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7f8000007f800000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7f8000007f7fffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x7f8000007f7fffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7f8000007f7fffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x7f8000007f7fffff;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffff900000800;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff900000800;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00b213171dff0606;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00e9a80014ff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00b213171dff0606;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00e9a80014ff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00b213171dff0606;
+ *((unsigned long *)&__m256i_result[2]) = 0x00e9a80014ff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00b213171dff0606;
+ *((unsigned long *)&__m256i_result[0]) = 0x00e9a80014ff0000;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000956a;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000004efffe00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000956a;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000004efffe00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x007fffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xb500000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x007fffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xb500000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x007fffffffff9569;
+ *((unsigned long *)&__m256i_result[2]) = 0xb50000004efffe00;
+ *((unsigned long *)&__m256i_result[1]) = 0x007fffffffff9569;
+ *((unsigned long *)&__m256i_result[0]) = 0xb50000004efffe00;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff01;
+ __m256i_out = __lasx_xvadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000ffff8000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x06f880008000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x800080008000b8f1;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000010180000101;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfa08800080000101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x800080008000480f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001010000010100;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101000000010100;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000000010100;
+ __m256i_out = __lasx_xvadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ffffffffff605a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ffffffffff605a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ffffffffff605a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ffffffffff605a;
+ __m256i_out = __lasx_xvadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x5555555536aaaaac;
+ *((unsigned long *)&__m256i_op0[2]) = 0x55555555aaaaaaac;
+ *((unsigned long *)&__m256i_op0[1]) = 0x5555555536aaaaac;
+ *((unsigned long *)&__m256i_op0[0]) = 0x55555555aaaaaaac;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x5555555536aaaaac;
+ *((unsigned long *)&__m256i_result[2]) = 0x55555555aaaaaaac;
+ *((unsigned long *)&__m256i_result[1]) = 0x5555555536aaaaac;
+ *((unsigned long *)&__m256i_result[0]) = 0x55555555aaaaaaac;
+ __m256i_out = __lasx_xvadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000154dc84;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000089;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000154dc84;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000089;
+ __m256i_out = __lasx_xvadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000014402080144;
+ __m256i_out = __lasx_xvadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000800000008;
+ __m256i_out = __lasx_xvadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_result[2]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_result[1]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_result[0]) = 0x0202010202020102;
+ __m256i_out = __lasx_xvadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff4000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000403f3fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x3fff3fff3fff4000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000403f3fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7ffe7ffe7ffe7ffe;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007ffe7ffe;
+ *((unsigned long *)&__m256i_result[1]) = 0x7ffe7ffe7ffe8000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000807e7ffe;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op0[1]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op1[3]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op1[2]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op1[1]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_result[3]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_result[2]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_result[1]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_result[0]) = 0xc2c2c2c2c2c2c2c2;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_result[3]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_result[2]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_result[1]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_result[0]) = 0x7f807f007f7f817f;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000800200027;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000800200028;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000800200027;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000800200028;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000006040190d;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000006040190d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000860601934;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000800200028;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000860601934;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000800200028;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000045;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000d0005;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000045;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000d0005;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000045;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000d0005;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000045;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000d0005;
+ __m256i_out = __lasx_xvadd_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000c0000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000040000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0020001f001f001e;
+ *((unsigned long *)&__m256i_result[2]) = 0x001f001fc01f001f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0020001f001f001e;
+ *((unsigned long *)&__m256i_result[0]) = 0x001f001f401f001f;
+ __m256i_out = __lasx_xvadd_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7ffeffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff7ffeffffffff;
+ __m256i_out = __lasx_xvadd_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[2]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[0]) = 0x800000ff800000ff;
+ __m256i_out = __lasx_xvadd_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000010000080040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000010000080040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000010000080040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000010000080040;
+ __m256i_out = __lasx_xvadd_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffeffff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffeffff0000;
+ __m256i_out = __lasx_xvadd_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadda.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadda.c
new file mode 100644
index 00000000000..d6b57d1cd44
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadda.c
@@ -0,0 +1,785 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101008000000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101008000000080;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000402000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000402000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000402000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000402000000;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffeffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100010102;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000102;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000102;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xefefefefefefefef;
+ *((unsigned long *)&__m256i_op0[2]) = 0xefefefefefefefef;
+ *((unsigned long *)&__m256i_op0[1]) = 0xefefefefefefef6e;
+ *((unsigned long *)&__m256i_op0[0]) = 0xeeeeeeeeeeeeeeee;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x1010101010101012;
+ *((unsigned long *)&__m256i_result[2]) = 0x1010101010101012;
+ *((unsigned long *)&__m256i_result[1]) = 0x1010101010101093;
+ *((unsigned long *)&__m256i_result[0]) = 0x1111111111111113;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0110000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0110000000000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0110000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0110000000000080;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1000000000000000;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1fe01e0000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1fe01e0000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1fe01e0000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1fe01e0000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xce7ffffffffffffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xce7ffffffffffffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x327f010101010102;
+ *((unsigned long *)&__m256i_result[2]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x327f010101010102;
+ *((unsigned long *)&__m256i_result[0]) = 0x6300000000000000;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff5556aaaa;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff5556aaaa;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0006ffff0004ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0002000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0006ffff0004ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0002000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0006ffff0004ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00020000aaa95556;
+ *((unsigned long *)&__m256i_result[1]) = 0x0006ffff0004ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00020000aaa95556;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xdb801b6d0962003f;
+ *((unsigned long *)&__m256i_op1[2]) = 0xdb8a3109fe0f0024;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9a7f997fff01ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xbe632a4f1c3c5653;
+ *((unsigned long *)&__m256i_result[3]) = 0x247fe49409620040;
+ *((unsigned long *)&__m256i_result[2]) = 0x2475cef801f0ffdd;
+ *((unsigned long *)&__m256i_result[1]) = 0x6580668200fe0002;
+ *((unsigned long *)&__m256i_result[0]) = 0x419cd5b11c3c5654;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x017e01fe01fe01fe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0586060601fe0202;
+ *((unsigned long *)&__m256i_op0[1]) = 0x017e01fe01fe0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0586060601fe0004;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0010001000100001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0010001000100001;
+ *((unsigned long *)&__m256i_result[3]) = 0x017f01fe01ff01fe;
+ *((unsigned long *)&__m256i_result[2]) = 0x05960616020e0203;
+ *((unsigned long *)&__m256i_result[1]) = 0x017f01fe01ff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x05960616020e0005;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000045;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000d0005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000045;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000d0005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010146;
+ *((unsigned long *)&__m256i_result[2]) = 0x01010101010e0106;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010146;
+ *((unsigned long *)&__m256i_result[0]) = 0x01010101010e0106;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0010000000100000;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffb79fb74;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffffa;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffb79fb74;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffa;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000010486048c;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000006;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000010486048c;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000006;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000020000;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000004411;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000004411;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff000c0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00040000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x00010001000c4411;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100044411;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000002000000018;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000002000000019;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000200000001e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000002000000019;
+ *((unsigned long *)&__m256i_op1[3]) = 0x223d76f09f3881ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x3870ca8d013e76a0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x223d76f09f37e357;
+ *((unsigned long *)&__m256i_op1[0]) = 0x43ec0a1b2aba7ed0;
+ *((unsigned long *)&__m256i_result[3]) = 0x223d771060c77e19;
+ *((unsigned long *)&__m256i_result[2]) = 0x3870caad013e76b9;
+ *((unsigned long *)&__m256i_result[1]) = 0x223d771060c81cc7;
+ *((unsigned long *)&__m256i_result[0]) = 0x43ec0a3b2aba7ee9;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xdbcbdbcbecececec;
+ *((unsigned long *)&__m256i_op0[2]) = 0xdbcbdbcb0000dbcb;
+ *((unsigned long *)&__m256i_op0[1]) = 0xdbcbdbcbecececec;
+ *((unsigned long *)&__m256i_op0[0]) = 0xdbcbdbcb0000dbcb;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x2535253514141414;
+ *((unsigned long *)&__m256i_result[2]) = 0x2535253500002535;
+ *((unsigned long *)&__m256i_result[1]) = 0x2535253514141414;
+ *((unsigned long *)&__m256i_result[0]) = 0x2535253500002535;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0020000f0000000f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010000f0000000f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0020000f0000000f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010000f0000000f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0020000f0000000f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0010000f0000000f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0020000f0000000f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0010000f0000000f;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000504f00002361;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff8f81000040e4;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000504f00002361;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff8f81000040e4;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000007ff000007ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000007ff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000007ff000007ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000007ff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000584e00002b60;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000787dffffbf1c;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000584e00002b60;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000787dffffbf1c;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010200000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010200000000;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fef010000010100;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fef010000010100;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fef010000010100;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fef010000010100;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000001fe;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x40b2bf4d30313031;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fffa2bea2be;
+ *((unsigned long *)&__m256i_op0[1]) = 0x40b2bf4d30313031;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fffa2bea2be;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x40b240b330313031;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff5d425d42;
+ *((unsigned long *)&__m256i_result[1]) = 0x40b240b330313031;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff5d425d42;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000100040;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000100080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000100080;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff896099cbdbfff1;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc987ffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff896099cbdbfff1;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc987ffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00769f673424000f;
+ *((unsigned long *)&__m256i_result[2]) = 0x3678000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x00769f673424000f;
+ *((unsigned long *)&__m256i_result[0]) = 0x3678000100000001;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadda_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000500000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000700000032;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000500000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000700000032;
+ __m256i_out = __lasx_xvadda_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00003feec0108022;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00003fe9c015802c;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00003feec0108022;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00003fe9c015802c;
+ *((unsigned long *)&__m256i_result[3]) = 0x00007f124010c022;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007f174015c02c;
+ *((unsigned long *)&__m256i_result[1]) = 0x00007f124010c022;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007f174015c02c;
+ __m256i_out = __lasx_xvadda_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfa15fa15fa15fa14;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfa15fa15fa15fa14;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x05ea05ea05ea05ec;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x05ea05ea05ea05ec;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000020202020202;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000020202020202;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101000000010000;
+ __m256i_out = __lasx_xvadda_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddi.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddi.c
new file mode 100644
index 00000000000..054bf6e55df
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddi.c
@@ -0,0 +1,427 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x44bb2cd3a35c2fd0;
+ *((unsigned long *)&__m256i_op0[0]) = 0xca355ba46a95e31c;
+ *((unsigned long *)&__m256i_result[3]) = 0x1d1d1d1d1d1d1d1d;
+ *((unsigned long *)&__m256i_result[2]) = 0x1d1d1d1d1d1d1d1d;
+ *((unsigned long *)&__m256i_result[1]) = 0x61d849f0c0794ced;
+ *((unsigned long *)&__m256i_result[0]) = 0xe75278c187b20039;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x1d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffbf7f7fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffe651bfff;
+ *((unsigned long *)&__m256i_result[3]) = 0x1d1d1d1d1d1d1d1d;
+ *((unsigned long *)&__m256i_result[2]) = 0x1d1d1d1ddd9d9d1d;
+ *((unsigned long *)&__m256i_result[1]) = 0x1d1d1d1d1d1d1d1d;
+ *((unsigned long *)&__m256i_result[0]) = 0x1d1d1d1d046fdd1d;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x1e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1515151515151515;
+ *((unsigned long *)&__m256i_result[2]) = 0x1515151515151515;
+ *((unsigned long *)&__m256i_result[1]) = 0x1515151515151515;
+ *((unsigned long *)&__m256i_result[0]) = 0x1515151515151515;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x15);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1818181818181818;
+ *((unsigned long *)&__m256i_result[2]) = 0x1818181818181818;
+ *((unsigned long *)&__m256i_result[1]) = 0x1818181818181818;
+ *((unsigned long *)&__m256i_result[0]) = 0x1818181818181818;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00007fff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00007fff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0202020202020202;
+ *((unsigned long *)&__m256i_result[2]) = 0x0202810102020202;
+ *((unsigned long *)&__m256i_result[1]) = 0x0202020202020202;
+ *((unsigned long *)&__m256i_result[0]) = 0x0202810102020202;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_result[2]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_result[1]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_result[0]) = 0x0909090909090909;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ffce20;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ffce20;
+ *((unsigned long *)&__m256i_result[3]) = 0x1514151415141514;
+ *((unsigned long *)&__m256i_result[2]) = 0x151415141514e335;
+ *((unsigned long *)&__m256i_result[1]) = 0x1514151415141514;
+ *((unsigned long *)&__m256i_result[0]) = 0x151415141514e335;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x15);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0606060606060606;
+ *((unsigned long *)&__m256i_result[2]) = 0x0606060606060606;
+ *((unsigned long *)&__m256i_result[1]) = 0x0606060606060606;
+ *((unsigned long *)&__m256i_result[0]) = 0x0606060606060606;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1212121212121212;
+ *((unsigned long *)&__m256i_result[2]) = 0x1212121212121212;
+ *((unsigned long *)&__m256i_result[1]) = 0x1212121212121212;
+ *((unsigned long *)&__m256i_result[0]) = 0x1212121212121212;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000001200000012;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000001200000012;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000001200000012;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000001200000012;
+ *((unsigned long *)&__m256i_result[3]) = 0x1a1a1a2c1a1a1a2c;
+ *((unsigned long *)&__m256i_result[2]) = 0x1a1a1a2c1a1a1a2c;
+ *((unsigned long *)&__m256i_result[1]) = 0x1a1a1a2c1a1a1a2c;
+ *((unsigned long *)&__m256i_result[0]) = 0x1a1a1a2c1a1a1a2c;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x1a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x1d1d1d1e1d1d1d1e;
+ *((unsigned long *)&__m256i_result[2]) = 0x1d1d1d1e1d1d1d1e;
+ *((unsigned long *)&__m256i_result[1]) = 0x1d1d1d1e1d1d1d1e;
+ *((unsigned long *)&__m256i_result[0]) = 0x1d1d1d1e1d1d1d1e;
+ __m256i_out = __lasx_xvaddi_bu (__m256i_op0, 0x1d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_result[2]) = 0x5982000200020002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_result[0]) = 0x5982000200020002;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[3]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_result[2]) = 0x001f001f02c442af;
+ *((unsigned long *)&__m256i_result[1]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_result[0]) = 0x001f001f02c442af;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0x1f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_result[2]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_result[0]) = 0x0010001000100010;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0x10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x807e80fd80fe80fd;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80938013800d8002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x807e80fd80fe0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80938013800d0005;
+ *((unsigned long *)&__m256i_result[3]) = 0x8091811081118110;
+ *((unsigned long *)&__m256i_result[2]) = 0x80a6802680208015;
+ *((unsigned long *)&__m256i_result[1]) = 0x8091811081110013;
+ *((unsigned long *)&__m256i_result[0]) = 0x80a6802680200018;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000003f00390035;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8015003f0006001f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000003f00390035;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8015003f0006001f;
+ *((unsigned long *)&__m256i_result[3]) = 0x000b004a00440040;
+ *((unsigned long *)&__m256i_result[2]) = 0x8020004a0011002a;
+ *((unsigned long *)&__m256i_result[1]) = 0x000b004a00440040;
+ *((unsigned long *)&__m256i_result[0]) = 0x8020004a0011002a;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0016001600160016;
+ *((unsigned long *)&__m256i_result[2]) = 0x0016001600160016;
+ *((unsigned long *)&__m256i_result[1]) = 0x0016001600160016;
+ *((unsigned long *)&__m256i_result[0]) = 0x0016001600160016;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0x16);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xa1a1a1a1a1a1a1a1;
+ *((unsigned long *)&__m256i_op0[2]) = 0xa1a1a1a15e5e5e5e;
+ *((unsigned long *)&__m256i_op0[1]) = 0xa1a1a1a1a1a1a1a1;
+ *((unsigned long *)&__m256i_op0[0]) = 0xa1a1a1a15e5e5e5e;
+ *((unsigned long *)&__m256i_result[3]) = 0xa1bfa1bfa1bfa1bf;
+ *((unsigned long *)&__m256i_result[2]) = 0xa1bfa1bf5e7c5e7c;
+ *((unsigned long *)&__m256i_result[1]) = 0xa1bfa1bfa1bfa1bf;
+ *((unsigned long *)&__m256i_result[0]) = 0xa1bfa1bf5e7c5e7c;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0x1e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000100080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000100080;
+ *((unsigned long *)&__m256i_result[3]) = 0x001a001a001a009a;
+ *((unsigned long *)&__m256i_result[2]) = 0x001a001a002a009a;
+ *((unsigned long *)&__m256i_result[1]) = 0x001a001a001a009a;
+ *((unsigned long *)&__m256i_result[0]) = 0x001a001a002a009a;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0x1a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x001c001c001c001c;
+ *((unsigned long *)&__m256i_result[2]) = 0x001c001c001c001c;
+ *((unsigned long *)&__m256i_result[1]) = 0x001c001c001c001c;
+ *((unsigned long *)&__m256i_result[0]) = 0x001c001c001d001d;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x721e001e721e001e;
+ *((unsigned long *)&__m256i_result[2]) = 0x721e001e721e001e;
+ *((unsigned long *)&__m256i_result[1]) = 0x721e001e721e001e;
+ *((unsigned long *)&__m256i_result[0]) = 0x721e001e721e001e;
+ __m256i_out = __lasx_xvaddi_hu (__m256i_op0, 0x1e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001900000019;
+ __m256i_out = __lasx_xvaddi_wu (__m256i_op0, 0x19);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000600000006;
+ __m256i_out = __lasx_xvaddi_wu (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001a0000001a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001a0000001a;
+ __m256i_out = __lasx_xvaddi_wu (__m256i_op0, 0x1a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001900000019;
+ __m256i_out = __lasx_xvaddi_wu (__m256i_op0, 0x19);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddi_wu (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001d0000001d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001d0000001d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001d0000001d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001d0000001d;
+ __m256i_out = __lasx_xvaddi_wu (__m256i_op0, 0x1d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000600000006;
+ __m256i_out = __lasx_xvaddi_wu (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000001fffd;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000001fffd;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000700020004;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000700020004;
+ __m256i_out = __lasx_xvaddi_wu (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000800000008;
+ __m256i_out = __lasx_xvaddi_wu (__m256i_op0, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000019410000e69a;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf259905a0c126604;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000883a00000f20;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6d3c2d3aa1c82947;
+ *((unsigned long *)&__m256i_result[3]) = 0x000019410000e6aa;
+ *((unsigned long *)&__m256i_result[2]) = 0xf259905a0c126614;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000883a00000f30;
+ *((unsigned long *)&__m256i_result[0]) = 0x6d3c2d3aa1c82957;
+ __m256i_out = __lasx_xvaddi_du (__m256i_op0, 0x10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000000d;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000000d;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000000d;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000000d;
+ __m256i_out = __lasx_xvaddi_du (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff0fff0ff01ff01;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff0fff0fff0fff0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff0fff0ff01ff01;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff0fff0fff0fff0;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff0fff0ff01ff14;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff0fff0fff10003;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff0fff0ff01ff14;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff0fff0fff10003;
+ __m256i_out = __lasx_xvaddi_du (__m256i_op0, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff47b4ffff5879;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff47b4ffff5879;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff47b4ffff5879;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff47b4ffff5879;
+ __m256i_out = __lasx_xvaddi_du (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+ __m256i_out = __lasx_xvaddi_du (__m256i_op0, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0fffffff0fffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0fffffff0fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0fffffff0fffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0fffffff0fffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0fffffff10000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0fffffff10000006;
+ *((unsigned long *)&__m256i_result[1]) = 0x0fffffff10000006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0fffffff10000006;
+ __m256i_out = __lasx_xvaddi_du (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c
new file mode 100644
index 00000000000..70f3bf783a6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c
@@ -0,0 +1,740 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op0[2]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op0[1]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op0[0]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffeffffff88;
+ *((unsigned long *)&__m256i_op1[2]) = 0x61e0000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffeffffff88;
+ *((unsigned long *)&__m256i_op1[0]) = 0x61e0000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0010ffc80010ff52;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff1ffca0011ffcb;
+ *((unsigned long *)&__m256i_result[1]) = 0x0010ffc80010ff52;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff1ffca0011ffcb;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffe90ffffff80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffe90ffffff80;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffff90ffffff80;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffff90ffffff80;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000005;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffefffefffefffe;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000023;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x01c601c6fe3afe3a;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x01c601c6fe3afe3a;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffc6ffc6003a003a;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffc6ffc6003a003a;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000011;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000011;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x457db03e457db03e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x457db03e45a87310;
+ *((unsigned long *)&__m256i_op0[1]) = 0x457db03e457db03e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x457db03e45a87310;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x007d003e007d003e;
+ *((unsigned long *)&__m256i_result[2]) = 0x007d003effa80010;
+ *((unsigned long *)&__m256i_result[1]) = 0x007d003e007d003e;
+ *((unsigned long *)&__m256i_result[0]) = 0x007d003effa80010;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x386000003df80000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x386000003df80000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0c6a240000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0c6a240000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ca0000fff80000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ca0000fff80000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x372e9d75e8aab100;
+ *((unsigned long *)&__m256i_op0[2]) = 0x5464fbfc416b9f71;
+ *((unsigned long *)&__m256i_op0[1]) = 0x31730b5beb7c99f5;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0d8264202b8ea3f0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x80c72fcd40fb3bc0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x84bd087966d4ace0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x26aa68b274dc1322;
+ *((unsigned long *)&__m256i_op1[0]) = 0xe072db2bb9d4cd40;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffcd42ffffecc0;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000475ffff4c51;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000740dffffad17;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003f4bffff7130;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ff80;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000468600007f79;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000f3280000dfff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000022;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffff80;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000468600008078;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffff328ffffe021;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op0[2]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op0[1]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op0[0]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op1[3]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op1[2]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op1[1]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_op1[0]) = 0x98111cca98111cca;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000399400003994;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000399400003994;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000399400003994;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000399400003994;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xe161616161614f61;
+ *((unsigned long *)&__m256i_op1[2]) = 0xe161616161614f61;
+ *((unsigned long *)&__m256i_op1[1]) = 0xe161616161614f61;
+ *((unsigned long *)&__m256i_op1[0]) = 0xe161616161614f61;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000616100004f61;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000616100004f61;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000616100004f61;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000616100004f61;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000b8f81b8c840e4;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000b8f81b8c840e4;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000504f00002361;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff8f81000040e4;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000504f00002361;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff8f81000040e4;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000012;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000012;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000012;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000012;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffa3;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000165a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffa3;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000165a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x40b240b330313031;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff5d425d42;
+ *((unsigned long *)&__m256i_op1[1]) = 0x40b240b330313031;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff7fff5d425d42;
+ *((unsigned long *)&__m256i_result[3]) = 0x000040b200002fd4;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007fff0000739c;
+ *((unsigned long *)&__m256i_result[1]) = 0x000040b200002fd4;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007fff0000739c;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00003fef00003fea;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003ff000003ff0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00003fef00003fea;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003ff000003ff0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00003fef00003fea;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00003ff000003ff0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00003fef00003fea;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00003ff000003ff0;
+ *((unsigned long *)&__m256i_result[3]) = 0x00007fde00007fd4;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007fe000007fe0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00007fde00007fd4;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007fe000007fe0;
+ __m256i_out = __lasx_xvaddwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000002e2100;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000001000010;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000012e2110;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000583800;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000100000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000583800;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000100000;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7bbbbbbbf7777778;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7bbbbbbbf7777778;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000007bbbbbbb;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007bbbbbbb;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000073333333;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000073333333;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x007f807f007e8080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f807f007e806f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x007f807f007e8080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f807f007e806f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000007e8080;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000007e8092;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000007e8080;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000007e8092;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000062d4;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000006338;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0010000100000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010000100000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0010000100000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010000100000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff800080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff800080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff80000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff80000000;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfe01fe01fc01fc01;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000003fc03bbc;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfe01fe01fc01fc01;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000003fc03bbc;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffc01fc01;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000003fc03bbc;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffc01fc01;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000003fc03bbc;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1b9763952fc4c101;
+ *((unsigned long *)&__m256i_op1[2]) = 0xe37affb42fc05f69;
+ *((unsigned long *)&__m256i_op1[1]) = 0x18b988e64facb558;
+ *((unsigned long *)&__m256i_op1[0]) = 0xe5fb66c81da8e5bb;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xe37affb42fc05f69;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x65fb66c81da8e5ba;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1010101010101012;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1010101010101012;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1010101010101093;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1111111111111113;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1010101110101011;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1111111211111112;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x5980000000000000;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffefe00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffefe00000000;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000002800000010;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000002800000010;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff000c0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00040000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff0127000c0010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff012700040010;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc0008000c0008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc0008000c0008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc0008000c0008000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc0008000c0008000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x8001000180010000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x8001000180010000;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff800200000002;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff800200000002;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000020000000200;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffe97c020010001;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000001e001e001e0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000001e001e001e0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c
new file mode 100644
index 00000000000..22528a14f7e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c
@@ -0,0 +1,485 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0010100000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0010100000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0010000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0010000000000000;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffc0003fffa0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x01fb010201f900ff;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000005554;
+ *((unsigned long *)&__m256i_op1[2]) = 0xaaaa0000aaacfffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000005554;
+ *((unsigned long *)&__m256i_op1[0]) = 0xaaaa0000aaacfffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000054;
+ *((unsigned long *)&__m256i_result[2]) = 0x00aa000000ac00fe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000054;
+ *((unsigned long *)&__m256i_result[0]) = 0x00aa000000ac00fe;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x017f01fe01ff01fe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x05960616020e0203;
+ *((unsigned long *)&__m256i_op0[1]) = 0x017f01fe01ff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x05960616020e0005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x017f01fe01ff01fe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x05960616020e0203;
+ *((unsigned long *)&__m256i_op1[1]) = 0x017f01fe01ff0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x05960616020e0005;
+ *((unsigned long *)&__m256i_result[3]) = 0x00fe01fc01fe01fc;
+ *((unsigned long *)&__m256i_result[2]) = 0x012c002c001c0006;
+ *((unsigned long *)&__m256i_result[1]) = 0x00fe01fc01fe0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x012c002c001c000a;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xd207e90001fb16ef;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc8eab25698f97e90;
+ *((unsigned long *)&__m256i_op0[1]) = 0xd207e90001fb16ef;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc8eab25698f97e90;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0007000000fb00ef;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ea005600f90090;
+ *((unsigned long *)&__m256i_result[1]) = 0x0007000000fb00ef;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ea005600f90090;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffc03b1fc5e050;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6a9e3fa2603a2000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffc03b1fc5e050;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6a9e3fa2603a2000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffc03fffffffc0;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffc00000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffc03fffffffc0;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffc00000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x01fe007a01c40110;
+ *((unsigned long *)&__m256i_result[2]) = 0x019d00a2003a0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x01fe007a01c40110;
+ *((unsigned long *)&__m256i_result[0]) = 0x019d00a2003a0000;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fe36364661af18f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fe363637fe36363;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fe36364661af18f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fe363637fe36363;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00e30064001a008f;
+ *((unsigned long *)&__m256i_result[2]) = 0x00e3006300e30063;
+ *((unsigned long *)&__m256i_result[1]) = 0x00e30064001a008f;
+ *((unsigned long *)&__m256i_result[0]) = 0x00e3006300e30063;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000013;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000010000685e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000020a4ffffbe4f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000010000685e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000020a4ffffbe4f;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000010000005e;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000a400ff004f;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000010000005e;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000a400ff004f;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0002ffff00020002;
+ *((unsigned long *)&__m256i_op0[2]) = 0x04f504f104f504f5;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0002ffff00020002;
+ *((unsigned long *)&__m256i_op0[0]) = 0x04f504f104f504f5;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000200ff00020002;
+ *((unsigned long *)&__m256i_result[2]) = 0x00f500f100f500f5;
+ *((unsigned long *)&__m256i_result[1]) = 0x000200ff00020002;
+ *((unsigned long *)&__m256i_result[0]) = 0x00f500f100f500f5;
+ __m256i_out = __lasx_xvaddwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000019410000e69a;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf259905a0c126604;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000883a00000f20;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6d3c2d3aa1c82947;
+ *((unsigned long *)&__m256i_op1[3]) = 0x372e9d75e8aab100;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc5c085372cfabfba;
+ *((unsigned long *)&__m256i_op1[1]) = 0x31730b5beb7c99f5;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0658f2dc0eb21e3c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000b6b60001979a;
+ *((unsigned long *)&__m256i_result[2]) = 0x00011591000125be;
+ *((unsigned long *)&__m256i_result[1]) = 0x000093950000a915;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001201600004783;
+ __m256i_out = __lasx_xvaddwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffff6ff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffff6ff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000f6ff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000f6ff00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8011ffee804c004c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00faff0500c3ff3c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x80f900f980780078;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0057ffa800ceff31;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ff00;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff000000ff000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ff000000ff00;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff000000ff000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffee0000ff4c;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ff050000ff3c;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fff90000ff78;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffa80000ff31;
+ __m256i_out = __lasx_xvaddwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000fffc7f7f;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffc000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000fffc7f7f;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffc000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8001b0b1b4b5dd9f;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8001b0b1b4b5dd9f;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000b0b100015d1e;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001fffe0001bfff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000b0b100015d1e;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001fffe0001bfff;
+ __m256i_out = __lasx_xvaddwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000fe200000fe1f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fe200000fe1f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffc0ffc1;
+ *((unsigned long *)&__m256i_op0[2]) = 0x003f00000000003f;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffc0ffc1;
+ *((unsigned long *)&__m256i_op0[0]) = 0x003f00000000003f;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001fffe0001ffc0;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0001003e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001fffe0001ffc0;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0001003e;
+ __m256i_out = __lasx_xvaddwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0020010101610000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0061200000610000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0020010101610000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0061200000610000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000101000000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00011fff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000101000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00011fff0000ffff;
+ __m256i_out = __lasx_xvaddwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvaddwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000013ffffffec;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000013ffffebd8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000013ffffffec;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000013ffffebd8;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffec;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffebd8;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffec;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffebd8;
+ __m256i_out = __lasx_xvaddwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000c0007;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000c0007;
+ *((unsigned long *)&__m256i_op1[3]) = 0x3abb3abbbabababa;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0080000000800080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x3abb3abbbabababa;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0080000000800080;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000babababa;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000008c0087;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000babababa;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000008c0087;
+ __m256i_out = __lasx_xvaddwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+ __m256i_out = __lasx_xvaddwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000a00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000a00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000010000000a;
+ __m256i_out = __lasx_xvaddwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8060000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8060000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x805f0000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x805f0000ffffffff;
+ __m256i_out = __lasx_xvaddwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfe01fe010000fd02;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fc03fc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfe01fe010000fd02;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000003fc03fc0;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfe01fe010000fd02;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000003fc03fc0;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfe01fe010000fd02;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000003fc03fc0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007f807f80;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000007f807f80;
+ __m256i_out = __lasx_xvaddwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff1cff1cff1cff1c;
+ __m256i_out = __lasx_xvaddwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c
new file mode 100644
index 00000000000..38a0a53d75f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c
@@ -0,0 +1,515 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[3]) = 0x0036003200360032;
+ *((unsigned long *)&__m256i_result[2]) = 0x0036003200360032;
+ *((unsigned long *)&__m256i_result[1]) = 0x0036003200360032;
+ *((unsigned long *)&__m256i_result[0]) = 0x0036003200360032;
+ __m256i_out = __lasx_xvaddwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000170017;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000170017;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000170017;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000170017;
+ __m256i_out = __lasx_xvaddwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000100fe000000ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000100fe00010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x000100fe000000ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000100fe00010001;
+ __m256i_out = __lasx_xvaddwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x6100000800060005;
+ *((unsigned long *)&__m256i_op0[2]) = 0x5ee1c073b800c916;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x5ff00007fff9fff3;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0209fefb08140000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0003fffc00060000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000800000004;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000bf6e0000c916;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000030000fff3;
+ __m256i_out = __lasx_xvaddwev_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000b004a00440040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8020004a0011002a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000b004a00440040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8020004a0011002a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000004a00000040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000004a0000002a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000004a00000040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000004a0000002a;
+ __m256i_out = __lasx_xvaddwev_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00001fff00001fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00001fff00001fff;
+ __m256i_out = __lasx_xvaddwev_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwev_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000080800000808;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000080800000808;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x001a001a001a009a;
+ *((unsigned long *)&__m256i_op0[2]) = 0x001a001a002a009a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x001a001a001a009a;
+ *((unsigned long *)&__m256i_op0[0]) = 0x001a001a002a009a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001a000000da;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001a000000da;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001a000000da;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001a000000da;
+ __m256i_out = __lasx_xvaddwev_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+ __m256i_out = __lasx_xvaddwev_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000007ffffffce;
+ __m256i_out = __lasx_xvaddwev_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000001fe;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000001ce;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000001fe;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000001ce;
+ __m256i_out = __lasx_xvaddwev_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff0000;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff000000010000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8011ffae800c000c;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00baff050083ff3c;
+ *((unsigned long *)&__m256i_op1[1]) = 0x80b900b980380038;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0017ffa8008eff31;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff800c000c;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000084ff3c;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff80380038;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000008fff31;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000001001f001e;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000001001f001e;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff00ff;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100f000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100f000ff;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffc0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000fff0ffc0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffc0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fff0ffc0;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ff88ffc0;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ff78ffc0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ff88ffc0;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ff78ffc0;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000016e00;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffff1cff1c;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffff1cff1c;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffff1cff1c;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffff1cff1c;
+ __m256i_out = __lasx_xvaddwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffff1f;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffeff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffff1f;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffeff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0010ffc80010ff52;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff1ffca0011ffcb;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0010ffc80010ff52;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff1ffca0011ffcb;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff1ffca0011feca;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff1ffca0011feca;
+ __m256i_out = __lasx_xvaddwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000002;
+ __m256i_out = __lasx_xvaddwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007fff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007fff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000017fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000017fff;
+ __m256i_out = __lasx_xvaddwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000004000000040;
+ __m256i_out = __lasx_xvaddwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c
new file mode 100644
index 00000000000..a4dc565e95b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c
@@ -0,0 +1,530 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x9240000000008025;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffff24affff8025;
+ *((unsigned long *)&__m256i_op0[1]) = 0xb2c0000000008006;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffb341ffff8006;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9240000000008025;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffff24affff8025;
+ *((unsigned long *)&__m256i_op1[1]) = 0xb2c0000000008006;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffb341ffff8006;
+ *((unsigned long *)&__m256i_result[3]) = 0xff2400000000ff00;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffeffe4fffeff00;
+ *((unsigned long *)&__m256i_result[1]) = 0xff6400000000ff00;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffeff66fffeff00;
+ __m256i_out = __lasx_xvaddwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff04ff00ff00ff00;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff04ff00ff00ff00;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffefffefffefffe;
+ __m256i_out = __lasx_xvaddwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffe0000fffe0002;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffe0000fffe0002;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff0000fffeffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff0000fffeffff;
+ __m256i_out = __lasx_xvaddwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffff00ffffff00;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffff00ffffff00;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffc0003fffc0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffc0003fffc0;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff0000ffff;
+ __m256i_out = __lasx_xvaddwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7ffeffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7ffeffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000fc300000fc40;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000fc300000fc40;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x007f007bfffffffb;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x007f007bfffffffb;
+ __m256i_out = __lasx_xvaddwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000201220001011c;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000201220001011c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvaddwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffe0ffe000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fa0001fff808000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffe0ffe000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fa0001fff808000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x007f0000ffffff80;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x007f0000ffffff80;
+ __m256i_out = __lasx_xvaddwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0004000400040004;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0004000400040004;
+ __m256i_out = __lasx_xvaddwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00007ff000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007ff000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00007ff000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+ __m256i_out = __lasx_xvaddwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000001fe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000001fe;
+ __m256i_out = __lasx_xvaddwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000d24;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000d24;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[3]) = 0x4ffc3f7800000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x3fc03f6400000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x4ffc3f7800000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x3fc03f6400000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000050fd00000101;
+ *((unsigned long *)&__m256i_result[2]) = 0x000040c100000101;
+ *((unsigned long *)&__m256i_result[1]) = 0x000050fd00000101;
+ *((unsigned long *)&__m256i_result[0]) = 0x000040c100000101;
+ __m256i_out = __lasx_xvaddwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000c9;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000c9;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000800080008000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000800080008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000800080008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000007fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000007fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000007fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000007fff;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000006d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000400008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000006d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000400008;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000800080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc9d8080067f50020;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc70000020000c000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7ffffffffffff7ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffe06df0d7;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7ffffffffffff7ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffbe8b470f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007ffffffff7ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x49d8080067f4f81f;
+ __m256i_out = __lasx_xvaddwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvaddwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff605a;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff605a;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffebeb8;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffebeb8;
+ __m256i_out = __lasx_xvaddwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1111111111111111;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1111111111111111;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1111111111111111;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1111111111111111;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1111111111111111;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1111111111111111;
+ __m256i_out = __lasx_xvaddwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffeffffffdd;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffdc;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvaddwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000d6d6d;
+ __m256i_out = __lasx_xvaddwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c
new file mode 100644
index 00000000000..a2fbe9ed00a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c
@@ -0,0 +1,560 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ffe00007f000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff017e01fe;
+ *((unsigned long *)&__m256i_result[1]) = 0x017e00ff017e00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff017e01fe;
+ __m256i_out = __lasx_xvaddwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xb70036db12c4007e;
+ *((unsigned long *)&__m256i_op0[2]) = 0xb7146213fc1e0049;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000fefe02fffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xb71c413b199d04b5;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00b7003600120000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00b7006200fc0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000fe00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00b7004100190004;
+ __m256i_out = __lasx_xvaddwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007aff7c00;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffd017d00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007aff7c00;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffd017d00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000008e7c00;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000067751500;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000008e7c00;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000067751500;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000007a00f8;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff01640092;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000007a00f8;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff01640092;
+ __m256i_out = __lasx_xvaddwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffa0078fffa0074;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffa0078fffa0074;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff000000ff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff000000ff0000;
+ __m256i_out = __lasx_xvaddwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00ff00ff;
+ __m256i_out = __lasx_xvaddwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff008000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff008000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff008000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff008000000000;
+ __m256i_out = __lasx_xvaddwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffff0020;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff8001ffff0001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0020;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff8001ffff0001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff008000ff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff008000ff0000;
+ __m256i_out = __lasx_xvaddwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+ __m256i_out = __lasx_xvaddwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000800000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000804000004141;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00017fff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00007fff0000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7bbbbbbbf7777778;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7bbbbbbbf7777778;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000004444;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007bbb0000f777;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000004444;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007bbb0000f777;
+ __m256i_out = __lasx_xvaddwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4010000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3e6ce7d9cb7afb62;
+ *((unsigned long *)&__m256i_op0[1]) = 0x4010000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3e6ce7d9cb7afb62;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000401000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003e6c0000cb7a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000401000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003e6c0000cb7a;
+ __m256i_out = __lasx_xvaddwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3aadec4f6c7975b1;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3abac5447fffca89;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3aadec4f6c7975b1;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3abac5447fffca89;
+ *((unsigned long *)&__m256i_op1[3]) = 0x3aadec4f6c7975b1;
+ *((unsigned long *)&__m256i_op1[2]) = 0x3abac5447fffca89;
+ *((unsigned long *)&__m256i_op1[1]) = 0x3aadec4f6c7975b1;
+ *((unsigned long *)&__m256i_op1[0]) = 0x3abac5447fffca89;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000755a0000d8f2;
+ *((unsigned long *)&__m256i_result[2]) = 0x000075740000fffe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000755a0000d8f2;
+ *((unsigned long *)&__m256i_result[0]) = 0x000075740000fffe;
+ __m256i_out = __lasx_xvaddwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffee00ba;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffee00ba;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffee;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffee;
+ __m256i_out = __lasx_xvaddwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9ffffd8020010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffff9fffffff9;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9ffffd8020010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffff9fffffff9;
+ *((unsigned long *)&__m256i_result[3]) = 0x00009fff00002001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00009fff00002001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+ __m256i_out = __lasx_xvaddwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvaddwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000001a00000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000900000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000001a00000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000900000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000001a;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000001a;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000009;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100010000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100010000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100010000;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000003f0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000030007;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000003f0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000030007;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00153f1594ea02ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffffffff0100;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff15c1ea95ea02ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000153f15;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ff15c1ea;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff040000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff040000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00fe00fe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff00fe00fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00fe00fe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00fe00fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100fe04ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100fe04ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff00ff;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000003ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00f9f9f900000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00f9f9f900000002;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000f9f9f9f9;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000faf3f3f2;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000f9f9f9f9;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000faf3f3f2;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000001fff000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000029170;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000001fff000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000029170;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffff7fffffff;
+ __m256i_out = __lasx_xvaddwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xc3f0c3f0c3f0c3f0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xc3f0c3f0c3f0c3f0;
+ __m256i_out = __lasx_xvaddwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op1[3]) = 0xe7e7e7e7e7e7e7e7;
+ *((unsigned long *)&__m256i_op1[2]) = 0xe7e7e7e7e7e7e7e7;
+ *((unsigned long *)&__m256i_op1[1]) = 0xe7e7e7e7e7e7e7e7;
+ *((unsigned long *)&__m256i_op1[0]) = 0xe7e7e7e7e7e7e7e7;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0xe6e8e6e8e6e8d719;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0xe6e8e6e8e6e8d719;
+ __m256i_out = __lasx_xvaddwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000003fffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000003fffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c
new file mode 100644
index 00000000000..8c98fc4be22
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c
@@ -0,0 +1,485 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000033e87ef1;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000002e2100;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000033007e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000021;
+ __m256i_out = __lasx_xvaddwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0020002000400040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0020002000400040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0020002000400040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0020002000400040;
+ __m256i_out = __lasx_xvaddwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000f000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000f000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x007fc0083fc7c007;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x007fc0083fc7c007;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffc0003fffc0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffc0003fffc0;
+ __m256i_out = __lasx_xvaddwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffdbbbcf;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffb8579f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffdbbbcf;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffb8579f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff00bb;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff0057;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff00bb;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff0057;
+ __m256i_out = __lasx_xvaddwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00ff00ff;
+ __m256i_out = __lasx_xvaddwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000005060503;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000073737;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000050007;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000039;
+ __m256i_out = __lasx_xvaddwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ff80;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000468600007f79;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000f3280000dfff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000007070707;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0102040000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000020100;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0703020000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000707;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000010200000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000070300000000;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00007fffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00007fffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff800000000000;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000100640000ff92;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000100640000ff92;
+ *((unsigned long *)&__m256i_result[3]) = 0x00007c0100007c01;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007c0100007c00;
+ *((unsigned long *)&__m256i_result[1]) = 0x00007c0100007c01;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007c0100007c00;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000001ffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfe00000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000001ffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfe00000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000001ff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffe0000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000001ff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffe0000000000;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000048;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000007d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000048;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000007d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000800000010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000800000010;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000fffe00009fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000fffe00002001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fffe00009fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000fffe00002001;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000027;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000027;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010080;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_w_hu_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000007f00;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7ffe7fffeffe;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffd84900000849;
+ *((unsigned long *)&__m256i_op0[0]) = 0x07fffc670800f086;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x311d9b643ec1fe01;
+ *((unsigned long *)&__m256i_op1[0]) = 0x344ade20fe00fd01;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000007f00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x311d73ad3ec2064a;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff80cbfffffdf8;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000081500000104;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffa4fffffffd;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000700000002;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff80cbfffffdf8;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffa4fffffffd;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000008050501;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x01fe007a01c40110;
+ *((unsigned long *)&__m256i_op0[2]) = 0x019d00a20039fff9;
+ *((unsigned long *)&__m256i_op0[1]) = 0x01fe007a01c40110;
+ *((unsigned long *)&__m256i_op0[0]) = 0x019d00a2003a0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000003ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x01fe007a01c40110;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x01fe007a01c40110;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x001ffffe00200000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x001ffffe00200000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff0020001d001f;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000fef0ff0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000fef0ff0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000400080ffc080;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080ff0080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000400080ffc080;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080ff0080;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000400080ffc080;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000400080ffc080;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x007f010000000100;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x007f010000000100;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvaddwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c
new file mode 100644
index 00000000000..2a4f29b509f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c
@@ -0,0 +1,650 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xff3eff3eff3eff3e;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xff3eff3eff3eff3e;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xa020202020202020;
+ *((unsigned long *)&__m256i_op1[2]) = 0xa020202020206431;
+ *((unsigned long *)&__m256i_op1[1]) = 0xa020202020202020;
+ *((unsigned long *)&__m256i_op1[0]) = 0xa020202020206431;
+ *((unsigned long *)&__m256i_result[3]) = 0xa020202020202020;
+ *((unsigned long *)&__m256i_result[2]) = 0xa020202020206431;
+ *((unsigned long *)&__m256i_result[1]) = 0xa020202020202020;
+ *((unsigned long *)&__m256i_result[0]) = 0xa020202020206431;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffee0000ff4c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ff050000ff3c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000fff90000ff78;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffa80000ff31;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffee0000ff4c;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ff050000ff3c;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fff90000ff78;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffa80000ff31;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ff810011;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff810011;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ff810011;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ff810011;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffff00ffffff00;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffff00ffffff00;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000200000008;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000200000008;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffff00ffffff00;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00000200000008;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffff00ffffff00;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00000200000008;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7efefefe80ffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7efefefe80ffffff;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00007fde00007fd4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00007fe000007fe0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00007fde00007fd4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00007fe000007fe0;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff7eddffff7ed3;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff7edfffff7edf;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff7eddffff7ed3;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff7edfffff7edf;
+ __m256i_out = __lasx_xvsadd_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffc81aca;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003a0a9512;
+ *((unsigned long *)&__m256i_op0[1]) = 0x280ac9da313863f4;
+ *((unsigned long *)&__m256i_op0[0]) = 0xe032c739adcc6bbd;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffe000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00010000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100020001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000fffffffffffe;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffdffffffc81aca;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff3a0b9512;
+ *((unsigned long *)&__m256i_result[1]) = 0x280bc9db313a63f5;
+ *((unsigned long *)&__m256i_result[0]) = 0xe032c738adcb6bbb;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1fe01e0000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1fe01e0000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1fe01e0100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x1fe01e0100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000fffffffa;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffffffa;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffffa;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffffa;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf800d0d8ffffeecf;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000383fffffdf0d;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf800d0d8ffffeecf;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000383fffffdf0d;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf000f000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf000f000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xe800c0d8fffeeece;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff383efffedf0c;
+ *((unsigned long *)&__m256i_result[1]) = 0xe800c0d8fffeeece;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff383efffedf0c;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffe0000fffe0002;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffe0000fffe0002;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[3]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[2]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[1]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[0]) = 0x7575757575757575;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfc003802fc000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000fc00fc00;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfc003802fc000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fc00fc00;
+ *((unsigned long *)&__m256i_result[3]) = 0xfc003802fc000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fc00fc00;
+ *((unsigned long *)&__m256i_result[1]) = 0xfc003802fc000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fc00fc00;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000007b00f9007e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000007b00f9007e;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000007b00f9007e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000007b00f9007e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000f601f200fc;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000f601f200fc;
+ __m256i_out = __lasx_xvsadd_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000007f00000022;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000007f00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000007f00000022;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000007f00000000;
+ __m256i_out = __lasx_xvsadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[2]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[1]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[0]) = 0x1c1b1a191c1b1a19;
+ __m256i_out = __lasx_xvsadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0002ff80ffb70000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffb7ff80ffd0ffd8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00010000002fff9e;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffb5ff80ffd0ffd8;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0002ff80ffb70000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffb7ff80ffd0ffd8;
+ *((unsigned long *)&__m256i_result[1]) = 0x00010000002fff9e;
+ *((unsigned long *)&__m256i_result[0]) = 0xffb5ff80ffd0ffd8;
+ __m256i_out = __lasx_xvsadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff800000000000;
+ __m256i_out = __lasx_xvsadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+ __m256i_out = __lasx_xvsadd_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff4000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000403f3fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x3fff3fff3fff4000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000403f3fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7ffe7ffe7ffe7ffe;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007ffe7ffe;
+ *((unsigned long *)&__m256i_result[1]) = 0x7ffe7ffe7ffe8000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000807e7ffe;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op0[1]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op1[3]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op1[2]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op1[1]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6161616161616161;
+ *((unsigned long *)&__m256i_result[3]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_result[2]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_result[1]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_result[0]) = 0xc2c2c2c2c2c2c2c2;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_result[3]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_result[2]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_result[1]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_result[0]) = 0x7f807f007f7f817f;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000800200027;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000800200028;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000800200027;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000800200028;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000006040190d;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000006040190d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000860601934;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000800200028;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000860601934;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000800200028;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvadd_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c
new file mode 100644
index 00000000000..a3afc9811ba
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c
@@ -0,0 +1,350 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000001700080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000001700080;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000001700080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000001700080;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[3]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[0]) = 0xf7f7f7f7f7f7f7f7;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000200000000;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x43d03bfff827ea21;
+ *((unsigned long *)&__m256i_op0[2]) = 0x43dac1f2a3804ff0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x43d03bfff827e9f9;
+ *((unsigned long *)&__m256i_op0[0]) = 0x43e019c657c7d050;
+ *((unsigned long *)&__m256i_op1[3]) = 0x43d03bfff827ea21;
+ *((unsigned long *)&__m256i_op1[2]) = 0x43dac1f2a3804ff0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x43d03bfff827e9f9;
+ *((unsigned long *)&__m256i_op1[0]) = 0x43e019c657c7d050;
+ *((unsigned long *)&__m256i_result[3]) = 0x86ff76ffff4eff42;
+ *((unsigned long *)&__m256i_result[2]) = 0x86ffffffffff9eff;
+ *((unsigned long *)&__m256i_result[1]) = 0x86ff76ffff4effff;
+ *((unsigned long *)&__m256i_result[0]) = 0x86ff32ffaeffffa0;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff8910ffff7e01;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff3573ffff8960;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff8910ffff1ca9;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffff5e5ffff8130;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff8910ffff7e01;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff3573ffff8960;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff8910ffff1ca9;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffff5e5ffff8130;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000f90;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000f90;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000f90;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000f90;
+ __m256i_out = __lasx_xvsadd_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffe200000020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000fffe00008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffe200000020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000fffe00008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[3]) = 0x7575ffff75757595;
+ *((unsigned long *)&__m256i_result[2]) = 0x7575ffff7575f575;
+ *((unsigned long *)&__m256i_result[1]) = 0x7575ffff75757595;
+ *((unsigned long *)&__m256i_result[0]) = 0x7575ffff7575f575;
+ __m256i_out = __lasx_xvsadd_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000f0f0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000f0f0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000f0f0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000f0f0;
+ __m256i_out = __lasx_xvsadd_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000001400;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000003c01ff9;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000003c01ff9;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000001400;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000003c01ff9;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000003c01ff9;
+ __m256i_out = __lasx_xvsadd_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_result[2]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_result[1]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_result[0]) = 0x45c5c5c545c5c5c5;
+ __m256i_out = __lasx_xvsadd_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+ __m256i_out = __lasx_xvsadd_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000080;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000080;
+ __m256i_out = __lasx_xvsadd_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvsadd_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsadd_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 02/22] LoongArch: Add tests for ASX vector xvhadd/xvhaddw/xvmaddwev/xvmaddwod instructions.
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 01/22] LoongArch: Add tests for ASX vector xvadd/xvadda/xvaddi/xvaddwev/ xvaddwodxvsadd instructions Xiaolong Chen
@ 2023-09-13 3:38 ` Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 03/22] LoongArch: Add tests for ASX vector subtraction instructions Xiaolong Chen
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Xiaolong Chen @ 2023-09-13 3:38 UTC (permalink / raw)
To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmadd.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c: New test.
---
.../loongarch/vector/lasx/lasx-xvhaddw-1.c | 560 +++++++++++
.../loongarch/vector/lasx/lasx-xvhaddw-2.c | 650 ++++++++++++
.../loongarch/vector/lasx/lasx-xvmadd.c | 742 ++++++++++++++
.../loongarch/vector/lasx/lasx-xvmaddwev-1.c | 856 ++++++++++++++++
.../loongarch/vector/lasx/lasx-xvmaddwev-2.c | 723 ++++++++++++++
.../loongarch/vector/lasx/lasx-xvmaddwev-3.c | 940 ++++++++++++++++++
.../loongarch/vector/lasx/lasx-xvmaddwod-1.c | 742 ++++++++++++++
.../loongarch/vector/lasx/lasx-xvmaddwod-2.c | 799 +++++++++++++++
.../loongarch/vector/lasx/lasx-xvmaddwod-3.c | 820 +++++++++++++++
9 files changed, 6832 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmadd.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c
new file mode 100644
index 00000000000..1cf0ec698b1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c
@@ -0,0 +1,560 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf7ffffffffffff1f;
+ *((unsigned long *)&__m256i_op0[2]) = 0xbffffffffffffeff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf7ffffffffffff1f;
+ *((unsigned long *)&__m256i_op0[0]) = 0xbffffffffffffeff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff6fffefffe005b;
+ *((unsigned long *)&__m256i_result[2]) = 0xffbefffefffe005a;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff6fffefffe005b;
+ *((unsigned long *)&__m256i_result[0]) = 0xffbefffefffe005a;
+ __m256i_out = __lasx_xvhaddw_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000000000000;
+ __m256i_out = __lasx_xvhaddw_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000060000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000060000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000060000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000060000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000fffffffefffe;
+ *((unsigned long *)&__m256i_result[1]) = 0xff7fffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000fffffffefffe;
+ __m256i_out = __lasx_xvhaddw_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000023;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000023;
+ __m256i_out = __lasx_xvhaddw_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000033;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000033;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff0607ffff0607;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff0607ffff0607;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff0607ffff0607;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff0607ffff0607;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff8fffffff8ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff8fffffff8ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff8fffffff8ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff8fffffff8ffff;
+ __m256i_out = __lasx_xvhaddw_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffecffffffec;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffefffffffe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffefffffffe;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffefffffffe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffefffffffe;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffc000400780087;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000fe80fffc0183;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffc000400f8ff87;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff80ff00ff7c0183;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffff900000800;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffc00000078;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffffc;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffc000000f8;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffff790000077c;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007ff000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007ff000000000;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff1fffffff1;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000001ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000001ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000f6ff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000f6ff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000f6ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000f6ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000017f0000017d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000017f0000017f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000017f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000017f;
+ __m256i_out = __lasx_xvhaddw_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000017000000080;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc06500550055ffab;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000017000000080;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc06500550055ffab;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000017000000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000017000000080;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7f00000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff000000000000;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7ff0000000000000;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffefef800;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffefef800;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000400010004;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000400010004;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000400010004;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000400010004;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffffffffffff;
+ __m256i_out = __lasx_xvhaddw_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c
new file mode 100644
index 00000000000..14ec081a4d1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c
@@ -0,0 +1,650 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000015d050192cb;
+ *((unsigned long *)&__m256i_op0[2]) = 0x028e509508b16ee9;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000033ff01020e23;
+ *((unsigned long *)&__m256i_op0[0]) = 0x151196b58fd1114d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001ffaa0000040e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000716800007bb6;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001ffe80001fe9c;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000228200001680;
+ *((unsigned long *)&__m256i_result[3]) = 0x000100ab000500a0;
+ *((unsigned long *)&__m256i_result[2]) = 0x000200b800080124;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001011b000200aa;
+ *((unsigned long *)&__m256i_result[0]) = 0x00150118008f0091;
+ __m256i_out = __lasx_xvhaddw_hu_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000001341c4000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000001000310000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00007f7f00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00007f7f00007fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000007f00340040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000007f000000ff;
+ __m256i_out = __lasx_xvhaddw_hu_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000180007f7f;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffafaf80000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000180007f7f;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffafaf80000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff010000ff017e;
+ *((unsigned long *)&__m256i_result[2]) = 0x01fe01ae00ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff010000ff017e;
+ *((unsigned long *)&__m256i_result[0]) = 0x01fe01ae00ff00ff;
+ __m256i_out = __lasx_xvhaddw_hu_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7c00000880008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7c00000880008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff0102;
+ *((unsigned long *)&__m256i_result[2]) = 0x007c000000810081;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff0102;
+ *((unsigned long *)&__m256i_result[0]) = 0x007c000000810081;
+ __m256i_out = __lasx_xvhaddw_hu_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffc0003fffc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffc0003fffc0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x007fc0083fc7c007;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x007fc0083fc7c007;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x007f010700c70106;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x007f010700c70106;
+ __m256i_out = __lasx_xvhaddw_hu_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000e0010000e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000e0010000e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000ff;
+ __m256i_out = __lasx_xvhaddw_hu_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101000101010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101000101010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000000010000;
+ __m256i_out = __lasx_xvhaddw_hu_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_hu_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvhaddw_wu_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000002a5;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000002a5;
+ __m256i_out = __lasx_xvhaddw_wu_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_wu_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+ __m256i_out = __lasx_xvhaddw_wu_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_wu_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0e0e0e0e0e0e0e0e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000e0e0e0e0e0e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff8fff9000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff8fff9000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff8fff9000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00010e0d00009e0e;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00009000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000e0e;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00009000;
+ __m256i_out = __lasx_xvhaddw_wu_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_wu_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0004000400040004;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0004000500040005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0004000400040004;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0004000500040005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000300000004;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000300000004;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000300000004;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000300000004;
+ __m256i_out = __lasx_xvhaddw_wu_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0501030102141923;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffd5020738b43ddb;
+ *((unsigned long *)&__m256i_op0[1]) = 0x010200023b8e4174;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff4ff4e11410b40;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000019410000e69a;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf259905a09c23be0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000883a00000f20;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6d3c2d3a89167aeb;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000501e99b;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000109973de7;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000001020f22;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000001890b7a39;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7f00000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000007f000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007fff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000007fff0000;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff90000fff9fff9;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff90000fff9fff9;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000001fff9fff8;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000001fff9fff8;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000001fff9fff8;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000001fff9fff8;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffff81ffffeb2f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003f6ee0570b4e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000018de;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffb4ffcec0f1;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffff81ffffeb2f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00003f6ee0570b4e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000018de;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffb4ffcec0f1;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000001ffffeab0;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000e0574abc;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000018de;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000001ffcec0a5;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffe367cc82f8989a;
+ *((unsigned long *)&__m256i_op1[2]) = 0x4f90000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffc3aaa8d58f43c8;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000082f8989a;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000d58f43c8;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000001700170017;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001700170017;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000170017;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000170017;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000004411;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000004411;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000004411;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000004411;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000236200005111;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000175e0000490d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000236200005111;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000175e0000490d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000002362;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000010000175d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000002362;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000010000175d;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000010000ff00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000010000ff00;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100003ffe;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100003fcd;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100003ffe;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100003fcd;
+ __m256i_out = __lasx_xvhaddw_du_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffefefffffcfa;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffefefffffefe;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000003f;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[2]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[0]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x9090909090909090;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000000f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000000f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000000f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000000f;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf3f3f3f3f3f3f3f3;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf3f3f3f3f3f3f3f3;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf3f3f3f3f3f3f3f3;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf3f3f3f3f3f3f3f3;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xf3f3f3f3f3f3f4f3;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xf3f3f3f3f3f3f4f3;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0080000000000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0080000000000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000800080008000;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000001fe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000001ce;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000001fe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000001ce;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000001fd;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000001fd;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0xfa15fa15fa15fa14;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0xfa15fa15fa15fa14;
+ __m256i_out = __lasx_xvhaddw_qu_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmadd.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmadd.c
new file mode 100644
index 00000000000..f9634b1284f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmadd.c
@@ -0,0 +1,742 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x042f0500cfea969a;
+ *((unsigned long *)&__m256i_op0[2]) = 0x58569d7be9179100;
+ *((unsigned long *)&__m256i_op0[1]) = 0xa98d4f7a77c308ee;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0ad152a5ad72feeb;
+ *((unsigned long *)&__m256i_op1[3]) = 0x34ec5670cd4b5ec0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x4f111e4b8e0d7291;
+ *((unsigned long *)&__m256i_op1[1]) = 0xeaa81f47dc3bdd09;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0e0d5fde5df99830;
+ *((unsigned long *)&__m256i_op2[3]) = 0x80c72fcd40fb3bc0;
+ *((unsigned long *)&__m256i_op2[2]) = 0x84bd087966d4ace0;
+ *((unsigned long *)&__m256i_op2[1]) = 0x26aa68b274dc1322;
+ *((unsigned long *)&__m256i_op2[0]) = 0xe072db2bb9d4cd40;
+ *((unsigned long *)&__m256i_result[3]) = 0x044819410d87e69a;
+ *((unsigned long *)&__m256i_result[2]) = 0x21d3905ae3e93be0;
+ *((unsigned long *)&__m256i_result[1]) = 0x5125883a30da0f20;
+ *((unsigned long *)&__m256i_result[0]) = 0x6d7b2d3ac2777aeb;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffeff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffeff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffff001f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffff001f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000000000000ffe0;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000001e18;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000000000ffe0;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000001e18;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffff1f;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffeff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffff1f;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffeff;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00010000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00010000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000fffe00010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000fffe00010001;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1717171717171717;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000607f700000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1717171717171717;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000607f700000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000002e0000002e;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000002e0000ffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000002e0000002e;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000002e0000fffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x1717171717171717;
+ *((unsigned long *)&__m256i_result[2]) = 0x000607f700000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x1717171717171717;
+ *((unsigned long *)&__m256i_result[0]) = 0x000607f700000001;
+ __m256i_out = __lasx_xvmadd_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000003f00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000003f00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000003f00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000003f00000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000003f00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000003f00000000;
+ __m256i_out = __lasx_xvmadd_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x370036db92c4007e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x371462137c1e0049;
+ *((unsigned long *)&__m256i_op0[1]) = 0x800000fe7e02fffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x371c413b999d04b5;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0002ff80ffb70000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffb7ff80ffd0ffd8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00010000002fff9e;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffb5ff80ffd0ffd8;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffff00ff00ffff00;
+ *((unsigned long *)&__m256i_op2[2]) = 0xff000000ff00ff00;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffff00ffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xff00000000ff00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x37fe365b920d007e;
+ *((unsigned long *)&__m256i_result[2]) = 0x381462137d1e0149;
+ *((unsigned long *)&__m256i_result[1]) = 0x80ff00fe7e020060;
+ *((unsigned long *)&__m256i_result[0]) = 0x381c413b99cd04dd;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xb70036db12c4007e;
+ *((unsigned long *)&__m256i_op1[2]) = 0xb7146213fc1e0049;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000fefe02fffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xb71c413b199d04b5;
+ *((unsigned long *)&__m256i_op2[3]) = 0xb70036db12c4007e;
+ *((unsigned long *)&__m256i_op2[2]) = 0xb7146213fc1e0049;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000fefe02fffe;
+ *((unsigned long *)&__m256i_op2[0]) = 0xb71c413b199d04b5;
+ *((unsigned long *)&__m256i_result[3]) = 0xd100645944100004;
+ *((unsigned long *)&__m256i_result[2]) = 0xd1908469108400d1;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000404040104;
+ *((unsigned long *)&__m256i_result[0]) = 0xd1108199714910f9;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fff7fff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff7fff00000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op2[2]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op2[0]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x61f1000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0108000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x61f1a18100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0108000000000000;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000055555555;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000004;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000055555555;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000004;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x2aaaaaaa2aaaaaab;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x2aaaaaaa2aaaaaab;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_result[2]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_result[1]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_result[0]) = 0x7c007c007c007c00;
+ __m256i_out = __lasx_xvmadd_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000fd00ffff02fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000001fffeff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x00007f7f00007f00;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x00007f7f00007fff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0100;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffee0000ff4c;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ff050000ff3c;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000fff90000ff78;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffa80000ff31;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmadd_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0101010127272525;
+ *((unsigned long *)&__m256i_op2[2]) = 0x23a2a121179e951d;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0101010127272525;
+ *((unsigned long *)&__m256i_op2[0]) = 0x23a2a121179e951d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvmadd_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op2[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fefffffffffffff;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x008e8e8e8e8e8e8e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x008e8e8e8e8e8e8e;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000700000007;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0007ffff0007ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000700000007;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0007ffff0007ffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x008e8e8e8e8e8e8e;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x008e8e8e8e8e8e8e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x007000008e700000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x007000008e700000;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op2[2]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op2[1]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op2[0]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_result[2]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_result[0]) = 0x0100000100000001;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmadd_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x00000000ff88ffc0;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000000ff78ffc0;
+ *((unsigned long *)&__m256i_op2[1]) = 0x00000000ff88ffc0;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000ff78ffc0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+ __m256i_out = __lasx_xvmadd_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000080040;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00009fff00002001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00009fff00002001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0001497c98ea4fca;
+ *((unsigned long *)&__m256i_op2[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0001497c98ea4fca;
+ *((unsigned long *)&__m256i_op2[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000006715b036;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000006715b036;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmadd_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000007f80;
+ __m256i_out = __lasx_xvmadd_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000d6d6d;
+ __m256i_out = __lasx_xvmadd_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7f80ffffff808000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7f80ffffff808000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x001f001fffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffe0ffe000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x001f001fffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffe0ffe000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffe0ffe000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fa0001fff808000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffe0ffe000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fa0001fff808000;
+ __m256i_out = __lasx_xvmadd_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c
new file mode 100644
index 00000000000..6238685bce9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c
@@ -0,0 +1,856 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff000100000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff000100000000;
+ __m256i_out = __lasx_xvmaddwev_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff8fff8fff8fff8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff8fff8fff8fff8;
+ __m256i_out = __lasx_xvmaddwev_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op1[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op2[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000f7f8f7f8;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000003f78;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000f7f8f7f8;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000003f78;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[2]) = 0x805f0000ffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[0]) = 0x805f0000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000f7f8f7f8;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000003f78;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000f7f8f7f8;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000003f78;
+ __m256i_out = __lasx_xvmaddwev_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000fc38fc38;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfc00000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000fc38fc38;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfc00000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0002001800ff0078;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01f8007001f80070;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0002001800ff0078;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01f8007001f80070;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0218ff78fc38fc38;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfc00000000000048;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0218ff78fc38fc38;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfc00000000000048;
+ *((unsigned long *)&__m256i_result[3]) = 0x00300b40fc001678;
+ *((unsigned long *)&__m256i_result[2]) = 0xfc00000000001f80;
+ *((unsigned long *)&__m256i_result[1]) = 0x00300b40fc001678;
+ *((unsigned long *)&__m256i_result[0]) = 0xfc00000000001f80;
+ __m256i_out = __lasx_xvmaddwev_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwev_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe8440000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffe8440000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffe8440000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffe8440000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffe8440000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffe8440000;
+ __m256i_out = __lasx_xvmaddwev_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffefffefffefffef;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffefffefffefffef;
+ *((unsigned long *)&__m256i_op1[3]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op1[1]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffefffefffefffef;
+ *((unsigned long *)&__m256i_result[1]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffefffefffefffef;
+ __m256i_out = __lasx_xvmaddwev_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xe0e0e0e0e0e0e0e0;
+ *((unsigned long *)&__m256i_op1[2]) = 0xe0e0e0e0e0e0e0e0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000e0e0e0e0;
+ *((unsigned long *)&__m256i_op1[0]) = 0xe0e0e0e0e0e0e0e0;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xebfd15f000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x01700498ff8f1600;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf520c7c024221300;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00802fd0ff540a80;
+ *((unsigned long *)&__m256i_op1[3]) = 0xebfd15f000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01700498ff8f1600;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf520c7c024221300;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00802fd0ff540a80;
+ *((unsigned long *)&__m256i_op2[3]) = 0xf96d674800000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x44a4330e2c7116c0;
+ *((unsigned long *)&__m256i_op2[1]) = 0x14187a7822b653c0;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfbe0b866962b96d0;
+ *((unsigned long *)&__m256i_result[3]) = 0xebfd15f000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x015c6a7facc39600;
+ *((unsigned long *)&__m256i_result[1]) = 0xfa070a51cbd95300;
+ *((unsigned long *)&__m256i_result[0]) = 0x00c7463075439280;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0555550000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0555550000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xc06500550055ffab;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xc06500550055ffab;
+ *((unsigned long *)&__m256i_result[3]) = 0x0555550000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0555550000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x807e80fd80fe80fd;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80938013800d8002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x807e80fd80fe0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80938013800d0005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffff00001fff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffff00001fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x807e80fd80fe80fd;
+ *((unsigned long *)&__m256i_result[2]) = 0x80938013800d8002;
+ *((unsigned long *)&__m256i_result[1]) = 0x807e80fd80fe0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x80938013800d0005;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x556caad9aabbaa88;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x556caad9aabbaa88;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_op1[2]) = 0x556caad9aabbaa88;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_op1[0]) = 0x556caad9aabbaa88;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_result[2]) = 0x556caad9aabbaa88;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_result[0]) = 0x556caad9aabbaa88;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff7f7f7fff7fffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff7f7f7fff7fffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x3f7f7f7eff800000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x3f7f7f7eff800000;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffeffffffdd;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffdc;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x002affaa00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffeffffffdd;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffdc;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000a00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000a00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000100010001;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000001000b000b;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000001000b000b;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000e0000000e00;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000e0000000e00;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x6018000000000cd1;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6040190d00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x132feea900000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6040190d00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op2[3]) = 0x2020080800000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000004044f4f;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0ef11ae55a5a6767;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x6018000000000cd1;
+ *((unsigned long *)&__m256i_result[2]) = 0x6040190d20227a78;
+ *((unsigned long *)&__m256i_result[1]) = 0x132feeabd2d33b38;
+ *((unsigned long *)&__m256i_result[0]) = 0x6040190d00000000;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x3);
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfefefefe3f800000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfefefefe3f800000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000fe0000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000fe0000000;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000118;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000118;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fff01fd7fff7fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00007fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fff01fd7fff7fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007fff7fff7fff;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff3cff3cff3cff3c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff3cff3cff3cff3c;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff3cff3cff3cff3c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff3cff3cff3cff3c;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff7fff;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1086658a18ba3594;
+ *((unsigned long *)&__m256i_op0[2]) = 0x160fe9f000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1086658a18ba3594;
+ *((unsigned long *)&__m256i_op0[0]) = 0x160fe9f000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xe161616161614f61;
+ *((unsigned long *)&__m256i_op1[2]) = 0xe161616161614f61;
+ *((unsigned long *)&__m256i_op1[1]) = 0xe161616161614f61;
+ *((unsigned long *)&__m256i_op1[0]) = 0xe161616161614f61;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000616100004f61;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000616100004f61;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000616100004f61;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000616100004f61;
+ *((unsigned long *)&__m256i_result[3]) = 0x108659e46485f7e1;
+ *((unsigned long *)&__m256i_result[2]) = 0x4df5b1a3ed5e02c1;
+ *((unsigned long *)&__m256i_result[1]) = 0x108659e46485f7e1;
+ *((unsigned long *)&__m256i_result[0]) = 0x4df5b1a3ed5e02c1;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff000100000000;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x01fffffffe000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x01fffffffe000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x01fffffffe000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x01fffffffe000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000001ffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfe00000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000001ffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfe00000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00007f7f00007f7f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00007f7f00007f7f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ff810011;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff810011;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_result[2]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_result[0]) = 0x817f11ed81800ff0;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00000000ffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00000000ffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00000000ffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00000000ffffff;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000101000001010;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000101000001010;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000101000001010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000101000001010;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffff80000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c
new file mode 100644
index 00000000000..5fa080375c9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c
@@ -0,0 +1,723 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007f7f7f80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007f7f7f80;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007f7f7f80;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000007f7f7f80;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0200000002000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000002000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0200000002000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000002000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff01fb0408;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf2b180c9fc1fefdc;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff01fb0408;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf2b180c9fc1fefdc;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00003cfc0000006f;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00003cfc0000006f;
+ *((unsigned long *)&__m256i_result[3]) = 0x02007f8002000400;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000c5dc02005f64;
+ *((unsigned long *)&__m256i_result[1]) = 0x02007f8002000400;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000c5dc02005f64;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000700020004;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000700020004;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0040000000000003;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0040000000000003;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000070002000a;
+ __m256i_out = __lasx_xvmaddwev_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000003f7e3f;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffc6cc05c64d960e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000003f7e3f;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff874dc687870000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x41dfffc000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x41dfffdfffc00000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0001fbf9fbe29f52;
+ *((unsigned long *)&__m256i_op2[2]) = 0x5b409c0000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0001fbf9fbe29f52;
+ *((unsigned long *)&__m256i_op2[0]) = 0x5b409c0000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfbba01c0003f7e3f;
+ *((unsigned long *)&__m256i_result[2]) = 0xffc6cc05c64d960e;
+ *((unsigned long *)&__m256i_result[1]) = 0xfbd884e7003f7e3f;
+ *((unsigned long *)&__m256i_result[0]) = 0xff874dc687870000;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000800;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000800;
+ *((unsigned long *)&__m256i_result[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x3fff3fff3fff4000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000403f3fff;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x40effc0000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x40effc0000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00007f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00010003fc827a86;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00007f7f7f7f0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f017fc0ddbf7d86;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00153f1594ea02ff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000ffffffff0100;
+ *((unsigned long *)&__m256i_op2[0]) = 0xff15c1ea95ea02ff;
+ *((unsigned long *)&__m256i_result[3]) = 0xc06e7c817f7e8081;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000bd3f016f177a;
+ *((unsigned long *)&__m256i_result[1]) = 0xc06e7c8100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x60c485800178147a;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000165a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000165a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000011f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000011f;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000ffff0000ffa3;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000000000000165a;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000ffff0000ffa3;
+ *((unsigned long *)&__m256i_op2[0]) = 0x000000000000165a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000192540;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000192540;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff88ff88;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff88ff88;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ff88ff88;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ff88ff88;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffeffff97a1;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffdf5b000041b0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffeffff97a1;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffdf5b000041b0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_op2[2]) = 0x07fed3c8f7ad28d0;
+ *((unsigned long *)&__m256i_op2[1]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_op2[0]) = 0x07fed3c8f7ad28d0;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffeffff97a1;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffdf5b000041b0;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffeffff97a1;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffdf5b000041b0;
+ __m256i_out = __lasx_xvmaddwev_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000fb8000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000fb8000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x807f807f00000380;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007380;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc03fc03f000001c0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000001c0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0004000400040004;
+ *((unsigned long *)&__m256i_result[3]) = 0x807f807f00000380;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000007380;
+ *((unsigned long *)&__m256i_result[1]) = 0xc03fc03f000001c0;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000001c0;
+ __m256i_out = __lasx_xvmaddwev_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff80ff00ff80ff01;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff80ff00ff80ff01;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x007f00ff007f00fe;
+ *((unsigned long *)&__m256i_op2[2]) = 0xf711ee11f711ee91;
+ *((unsigned long *)&__m256i_op2[1]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xf711ee11f711ee11;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff80ff00ff80ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff80ff00ff80ff01;
+ __m256i_out = __lasx_xvmaddwev_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x498000804843ffe0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x4980008068400000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x498000804843ffe0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x4980008068400000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffff801000000010;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffff800300000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffff801000000010;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffff800300000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000004843ffdff;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000004843ffdff;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+ __m256i_out = __lasx_xvmaddwev_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01fe01fe00000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000022;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000022;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000045ff740023;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000045ff740023;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000fffe00800022;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000fffe00800022;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000fffffffe;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000fffffffe;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000000000155b200;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000b70000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000016e00;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000001e001e001e0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000001e001e001e0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c
new file mode 100644
index 00000000000..40549448ee3
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c
@@ -0,0 +1,940 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0003ff540000081c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0003ffd00003fd38;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001ffaa0000040e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000716800007bb6;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001ffe80001fe9c;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000228200001680;
+ *((unsigned long *)&__m256i_op2[3]) = 0x372e9d75e8aab100;
+ *((unsigned long *)&__m256i_op2[2]) = 0xc5c085372cfabfba;
+ *((unsigned long *)&__m256i_op2[1]) = 0x31730b5beb7c99f5;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0658f2dc0eb21e3c;
+ *((unsigned long *)&__m256i_result[3]) = 0x002e4db200000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000315ac0000d658;
+ *((unsigned long *)&__m256i_result[1]) = 0x00735278007cf94c;
+ *((unsigned long *)&__m256i_result[0]) = 0x0003ed8800031b38;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[2]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff01ff01ff01;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff0001ff04;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff02a0fefc;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000cfefd;
+ *((unsigned long *)&__m256i_op1[3]) = 0x6100000800060005;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5ee1c073b800c916;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5ff00007fff9fff3;
+ *((unsigned long *)&__m256i_op2[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfffffffefffffefc;
+ *((unsigned long *)&__m256i_op2[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff7fffbfefa;
+ *((unsigned long *)&__m256i_result[2]) = 0xff1eff1902a0fea4;
+ *((unsigned long *)&__m256i_result[1]) = 0xff10000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff10fff9ff13fd17;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfafafafafafafafa;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000fefefe;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xf9fbf9fbf9fbf9fb;
+ *((unsigned long *)&__m256i_result[2]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0xfdfffdfffdfffdff;
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff01fffffdff;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000627;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000627;
+ *((unsigned long *)&__m256i_op2[3]) = 0x7fff7fff05407fff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x7fff7fff05407fff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000003fff3fff;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000400;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000400;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_result[3]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_result[1]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00ff00ff00ef32;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1010101010101010;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1010101010101010;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffff0001;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfffffffffdd97dc4;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffff0001;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfffffffffdd97dc4;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff00000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x1010100f10100fd4;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff00000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x1010100f10100fd4;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_op0[2]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_op0[1]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_op0[0]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_result[2]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_result[1]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_result[0]) = 0xebebebebebebebeb;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x001f001fffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffe0ffe000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x001f001fffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffe0ffe000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x34ec5670cd4b5ec0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4f111e4b8e0d7291;
+ *((unsigned long *)&__m256i_op0[1]) = 0xeaa81f47dc3bdd09;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0e0d5fde5df99830;
+ *((unsigned long *)&__m256i_op1[3]) = 0x67390c19e4b17547;
+ *((unsigned long *)&__m256i_op1[2]) = 0xbacda0f96d2cec01;
+ *((unsigned long *)&__m256i_op1[1]) = 0xee20ad1adae2cc16;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5a2003c6a406fe53;
+ *((unsigned long *)&__m256i_op2[3]) = 0x80c72fcd40fb3bc0;
+ *((unsigned long *)&__m256i_op2[2]) = 0x84bd087966d4ace0;
+ *((unsigned long *)&__m256i_op2[1]) = 0x26aa68b274dc1322;
+ *((unsigned long *)&__m256i_op2[0]) = 0xe072db2bb9d4cd40;
+ *((unsigned long *)&__m256i_result[3]) = 0x372e9d75e8aab100;
+ *((unsigned long *)&__m256i_result[2]) = 0x5464fbfc416b9f71;
+ *((unsigned long *)&__m256i_result[1]) = 0x31730b5beb7c99f5;
+ *((unsigned long *)&__m256i_result[0]) = 0x0d8264202b8ea3f0;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff0000ffff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff000000ffffff00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffffffff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x01fa022a01a401e5;
+ *((unsigned long *)&__m256i_op1[2]) = 0x030d03aa0079029b;
+ *((unsigned long *)&__m256i_op1[1]) = 0x024c01f901950261;
+ *((unsigned long *)&__m256i_op1[0]) = 0x008102c2008a029f;
+ *((unsigned long *)&__m256i_op2[3]) = 0x002e4db200000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000315ac0000d658;
+ *((unsigned long *)&__m256i_op2[1]) = 0x00735278007cf94c;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0003ed8800031b38;
+ *((unsigned long *)&__m256i_result[3]) = 0x01a72334ffff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0xff4f6838ff937648;
+ *((unsigned long *)&__m256i_result[1]) = 0x00a2afb7fff00ecb;
+ *((unsigned long *)&__m256i_result[0]) = 0xffce110f004658c7;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff0001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003a099512;
+ *((unsigned long *)&__m256i_op0[1]) = 0x280ac9da313763f5;
+ *((unsigned long *)&__m256i_op0[0]) = 0xe032c738adcc6bbf;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xfffe000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000ffff00010000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0001000100020001;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000fffffffffffe;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff0001;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000003a099512;
+ *((unsigned long *)&__m256i_result[1]) = 0x280ac9da313763f5;
+ *((unsigned long *)&__m256i_result[0]) = 0xe032c738adcc6bbf;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7f00000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7f00000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000045f3fb;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000045f3fb;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[0]) = 0xf7f7f7f7f7f7f7f7;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00010003;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0080000200000002;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00010003;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00010003;
+ *((unsigned long *)&__m256i_result[1]) = 0x0080000200000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00010003;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000001a00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000001a00;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000001f0000001f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001f0000ffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000060008;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000000000c005b;
+ *((unsigned long *)&__m256i_op2[1]) = 0xfffffffffffe0000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000040053;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff0007fff7;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff005affa4;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000053ffac;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000000;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000420080000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x5fff5fff607f0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000420080000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x5fff5fff607f0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000420080000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5fff5fff607f0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000420080000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5fff5fff607f0000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000420080000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x5fff5fff607f0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000420080000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x5fff5fff607f0000;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0100004300000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0100004300000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op2[2]) = 0xff00010001000100;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op2[0]) = 0xff00010001000100;
+ *((unsigned long *)&__m256i_result[3]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_result[2]) = 0x01ffff4300ffff00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_result[0]) = 0x01ffff4300ffff00;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000001000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000001000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff0607ffff0607;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0607ffff0607;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff0607ffff0607;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0607ffff0607;
+ *((unsigned long *)&__m256i_op2[3]) = 0x00000000f9f9f9f9;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000000faf3f3f2;
+ *((unsigned long *)&__m256i_op2[1]) = 0x00000000f9f9f9f9;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000faf3f3f2;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffdbbbcf;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffb8579f;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffdbbbcf;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffb8579f;
+ __m256i_out
+ = __lasx_xvmaddwev_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out
+ = __lasx_xvmaddwev_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x009200f200840080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x009200f200840080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00b200b300800080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00b200b300800080;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x009200f200840080;
+ *((unsigned long *)&__m256i_result[2]) = 0x009200f200840080;
+ *((unsigned long *)&__m256i_result[1]) = 0x00b200b300800080;
+ *((unsigned long *)&__m256i_result[0]) = 0x00b200b300800080;
+ __m256i_out
+ = __lasx_xvmaddwev_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000404040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000404040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000202020;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000404040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000202020;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000404040;
+ __m256i_out
+ = __lasx_xvmaddwev_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1fa0000000080000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1fa0000000080000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000800080;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000800080;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1fa0000000080000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1fa0000000080000;
+ __m256i_out
+ = __lasx_xvmaddwev_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000001;
+ __m256i_out
+ = __lasx_xvmaddwev_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000eef14fe8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0202020201010000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000eef14fe8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0202020201010000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xfe02fe02fee5fe22;
+ *((unsigned long *)&__m256i_op2[0]) = 0xff49fe4200000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000eef14fe8;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffe928f1313c9cc;
+ *((unsigned long *)&__m256i_result[0]) = 0x4244020201010000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[2]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[1]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[0]) = 0x0005000500050005;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000fffffff6;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffffff6;
+ *((unsigned long *)&__m256i_op2[3]) = 0x3f3f3f3f3f3f3f3f;
+ *((unsigned long *)&__m256i_op2[2]) = 0x3f3f3f3f3f3f3f3f;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000003f3f3f3f;
+ *((unsigned long *)&__m256i_op2[0]) = 0x3f3f3f3f00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_result[2]) = 0xc6c6c6c68787878a;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_result[0]) = 0x8787878a00000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000fffffff6;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffff6;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_op2[2]) = 0xc6c6c6c68787878a;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_op2[0]) = 0x8787878a00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffe3;
+ *((unsigned long *)&__m256i_result[2]) = 0x63636344c3c3c4f6;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffc3;
+ *((unsigned long *)&__m256i_result[0]) = 0xc3c3c500fffffff6;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000009;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0004000f00100003;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000400030010000f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0004000f00100003;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000400030010000f;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffbfffcffeffff0;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffbfffcffeffff0;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000b0cfffff4f3;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000f9bb562f56c80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000b0cfffff4f3;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000f9bb562f56c80;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op2[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op2[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_result[3]) = 0x0018761ed60b5d7f;
+ *((unsigned long *)&__m256i_result[2]) = 0xabdcdc9938afafe9;
+ *((unsigned long *)&__m256i_result[1]) = 0x0018761ed60b5d7f;
+ *((unsigned long *)&__m256i_result[0]) = 0xabdcdc9938afafe9;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c
new file mode 100644
index 00000000000..6838769331f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c
@@ -0,0 +1,742 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ffffffffffffff;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000007fff7fff;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1020102010201020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1020102010201020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1020102010201020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1020102010201020;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[3]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op2[1]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_result[3]) = 0x1031146010201020;
+ *((unsigned long *)&__m256i_result[2]) = 0x1020102010201020;
+ *((unsigned long *)&__m256i_result[1]) = 0x1031146010201020;
+ *((unsigned long *)&__m256i_result[0]) = 0x1020102010201020;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000080800000808;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000080800000808;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000080800000808;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000080800000808;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3d3d3d3d3d3d3d3d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3d3d3d3d3d3d3d3d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x3d3d3d3d3d3d3d3d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x3d3d3d3d3d3d3d3d;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffff00;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffff00;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xfff8fffffff8ffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfff8fffffff8ffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xfff8fffffff8ffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfff8fffffff8ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffff00;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffff00;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x94d7fb5200000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x94d7fb5200000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000038ea4d4a;
+ *((unsigned long *)&__m256i_op2[2]) = 0x7fff00007fff0000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000038ea4d4a;
+ *((unsigned long *)&__m256i_op2[0]) = 0x7fff00007fff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x94d7fb5200000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x94d7fb5200000000;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_op2[3]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_op2[1]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000007ffffffce;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000020000010201;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000020000010201;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000020000010201;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000020000010201;
+ __m256i_out = __lasx_xvmaddwod_h_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op2[2]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op2[1]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_op2[0]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000017e;
+ __m256i_out = __lasx_xvmaddwod_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003f3fc6c68787;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003f3f87870000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffefffffffeff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003e3ec6c68686;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000fffffeff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003e3e87870000;
+ __m256i_out = __lasx_xvmaddwod_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x01fe007a01c40110;
+ *((unsigned long *)&__m256i_op0[2]) = 0x019d00a2003a0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x01fe007a01c40110;
+ *((unsigned long *)&__m256i_op0[0]) = 0x019d00a2003a0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000077fff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x01fe007a01c40110;
+ *((unsigned long *)&__m256i_result[2]) = 0x019d00a20039fff9;
+ *((unsigned long *)&__m256i_result[1]) = 0x01fe007a01c40110;
+ *((unsigned long *)&__m256i_result[0]) = 0x019d00a2003a0000;
+ __m256i_out = __lasx_xvmaddwod_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000003cc0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000003cc0;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000003cc0;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000003cc0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000002780;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000002780;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_w_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ff80;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000468600007f79;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000f3280000dfff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fff01fd7fff7fff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00007fff7fff7fff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ff80;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000468600007f79;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000f3280000dfff;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffff90ffffff80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffff90ffffff80;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffff90ffffff80;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffff90ffffff80;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff80000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff80000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3f2c678e38d1104c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3f2c678e38d1104c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x3f2c678e38d1104c;
+ *((unsigned long *)&__m256i_result[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x3f2c678e38d1104c;
+ *((unsigned long *)&__m256i_result[0]) = 0x7ff0000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3fffffffff7f0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3fffffffff7f0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000c7aff7c00;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffd017d00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000c7aff7c00;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffd017d00;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000002030000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x030303670101fd90;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000002030000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x030303670101fd90;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x3ffffffffc7bfc99;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x3ffffffffc7bfc99;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xff80000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000020;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0200000202000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0200000202000002;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0200000202000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0200000202000002;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0200000202000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0200000202000002;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000010000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000010000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000100080;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000100080;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf800f800f800c000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf800f800f800a000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf800f800f800e000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf800f800f800e000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff00ffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0001000100010000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x020afefb08140000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0003fffc00060000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf800f7fff8ffc0ff;
+ *((unsigned long *)&__m256i_result[2]) = 0xf8fff7fff7ffa000;
+ *((unsigned long *)&__m256i_result[1]) = 0xf800f800f800e000;
+ *((unsigned long *)&__m256i_result[0]) = 0xf800f800f800e000;
+ __m256i_out = __lasx_xvmaddwod_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwod_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffff39ffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffff39ffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000fc300000fc40;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000fc300000fc40;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+ __m256i_out = __lasx_xvmaddwod_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvmaddwod_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_q_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c
new file mode 100644
index 00000000000..f9f88b65402
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c
@@ -0,0 +1,799 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000ffff8000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff80008000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x800080008000b8f1;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff00000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x074132a240000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000ffff8000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x06f880008000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[0]) = 0x800080008000b8f1;
+ __m256i_out = __lasx_xvmaddwod_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffefe00000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000000c0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000c0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000c0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000000c0;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000012481e4950;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000001658166830;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000004000000040;
+ __m256i_out = __lasx_xvmaddwod_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[0]) = 0xf7f7f7f7f7f7f7f7;
+ __m256i_out = __lasx_xvmaddwod_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwod_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1f60010000080100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1f60010000080100;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x1fa0000000080000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x1fa0000000080000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1f60010000080100;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1f60010000080100;
+ __m256i_out = __lasx_xvmaddwod_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffeffed;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffeffed;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffeffed;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffeffed;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffeffed;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffeffed;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffeffed;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffeffed;
+ *((unsigned long *)&__m256i_op2[3]) = 0xc039000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xc039000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xc039000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xc039000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xbf3ffffffffeffed;
+ *((unsigned long *)&__m256i_result[2]) = 0xbf3ffffffffeffed;
+ *((unsigned long *)&__m256i_result[1]) = 0xbf3ffffffffeffed;
+ *((unsigned long *)&__m256i_result[0]) = 0xbf3ffffffffeffed;
+ __m256i_out = __lasx_xvmaddwod_h_bu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0ff80100ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0ff80100ffffffff;
+ __m256i_out = __lasx_xvmaddwod_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfffffefe00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x34000000fff00000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff6e00000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3380000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x363c0000fff3c000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffb7146213;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffc1e0049;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffb71c413b;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf3317da580000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x34000000fff00000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff6e00000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x3380000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x363c0000fff3c000;
+ __m256i_out = __lasx_xvmaddwod_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwod_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffe000ffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffe000ffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffe000ffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffe000ffffffffff;
+ __m256i_out = __lasx_xvmaddwod_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x01c03f8034c03200;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3dc02b400a003400;
+ *((unsigned long *)&__m256i_op0[1]) = 0x01c03f8034c03200;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3dc02b400a003400;
+ *((unsigned long *)&__m256i_op1[3]) = 0x01c03f8034c03200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x3dc02b400a003400;
+ *((unsigned long *)&__m256i_op1[1]) = 0x01c03f8034c03200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x3dc02b400a003400;
+ *((unsigned long *)&__m256i_op2[3]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_op2[2]) = 0x07fed3c8f7ad28d0;
+ *((unsigned long *)&__m256i_op2[1]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_op2[0]) = 0x07fed3c8f7ad28d0;
+ *((unsigned long *)&__m256i_result[3]) = 0x01ce3c0050d32d40;
+ *((unsigned long *)&__m256i_result[2]) = 0x3fadafc013acf600;
+ *((unsigned long *)&__m256i_result[1]) = 0x01ce3c0050d32d40;
+ *((unsigned long *)&__m256i_result[0]) = 0x3fadafc013acf600;
+ __m256i_out = __lasx_xvmaddwod_w_hu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op2[1]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op2[0]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffecffffffec;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000100;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffefd;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000100;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xfffffefdfffffefd;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000100;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffff7d80000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000100;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000001fdfffffe02;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000001fefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff01fefffeff02;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000001fdfffffe02;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000001fefe;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff01fefffeff02;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffdfffffffdffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffddffdeffb5ff8d;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffdfffffffdffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffddffdeffb5ff8d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffffffeeffaf;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1010100f10100fd4;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffffffeeffaf;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1010100f10100fd4;
+ *((unsigned long *)&__m256i_op2[3]) = 0xfffdfffffffdffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffddffdeffb5ff8d;
+ *((unsigned long *)&__m256i_op2[1]) = 0xfffdfffffffdffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffddffdeffb5ff8d;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffefffcffff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0febedc9bb95dd8f;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffefffcffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0febedc9bb95dd8f;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000545400;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000545400;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffff040000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffff040000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fe;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000180007fe8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000180007fe8;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff7bfffff1;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff80007fe9;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff7bfffff1;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff80007fe9;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010511c54440437;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010511c54440437;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000103fca1bd;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000103fca1bd;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000103fca1bd;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000103fca1bd;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0010511c54440438;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0010511c54440438;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x386000003df80000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x386000003df80000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x386000003df80000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x386000003df80000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0c6a240000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0c6a240000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwod_d_wu (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01fe01fe00000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000022;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000022;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000045ff740023;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000045ff740023;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000fffe00800022;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000fffe00800022;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000fffffffe;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000fffffffe;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000000000155b200;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000b70000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000016e00;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000001e001e001e0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000001e001e001e0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaddwev_q_du (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c
new file mode 100644
index 00000000000..5210e4cf906
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c
@@ -0,0 +1,820 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffc0ffc0ffc0ffc0;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffc0ffc0ffc0ffc0;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffc0ffc0ffc0ffc0;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffc0ffc0ffc0ffc0;
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[2]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff01ff01ff01;
+ __m256i_out
+ = __lasx_xvmaddwod_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000200000000;
+ __m256i_out
+ = __lasx_xvmaddwod_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000b8f81b8c850f4;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000b8f81b8c850f4;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0xd0d8eecf383fdf0d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0xd0d8eecf383fdf0d;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000b8f81b8c850f4;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op2[0]) = 0x000b8f81b8c850f4;
+ *((unsigned long *)&__m256i_result[3]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_result[2]) = 0x000b2673a90896a4;
+ *((unsigned long *)&__m256i_result[1]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_result[0]) = 0x000b2673a90896a4;
+ __m256i_out
+ = __lasx_xvmaddwod_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc600000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc600000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffc03fffffffc0;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffc00000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffc03fffffffc0;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffc00000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_result[2]) = 0xc600000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_result[0]) = 0xc600000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff000003c0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff000003c0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000fc300000fc40;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000fc300000fc40;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7c030000ffc4;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff7c030000ffc4;
+ __m256i_out
+ = __lasx_xvmaddwod_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00f7000000f70006;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00f7000000f70006;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out
+ = __lasx_xvmaddwod_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff0007a861;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff0007a861;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out
+ = __lasx_xvmaddwod_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_h_bu_b (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xbff0000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000001fffffffe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000001fffffffe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff0002fffeffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff0002fffeffff;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000505;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000001000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000001000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000627;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000627;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1f60000000c00000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1f60000000c00000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x7fff7fff05407fff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x7fff7fff05407fff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000627;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000627;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x437f201f201f2020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x037f201f001f2020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x437f201f201f2020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x037f201f001f2020;
+ *((unsigned long *)&__m256i_op2[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x21bb481000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x01bf481000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x21bb481000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x01bf481000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000000010000685e;
+ *((unsigned long *)&__m256i_op2[2]) = 0x000020a4ffffbe4f;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000010000685e;
+ *((unsigned long *)&__m256i_op2[0]) = 0x000020a4ffffbe4f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x001fffffffe00000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x001fffffffe00000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000000ffffff1dff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffff1dffffff1dff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000ffffff1dff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffff1dffffff1dff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffff0020;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff8001ffff0001;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0020;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff8001ffff0001;
+ __m256i_out
+ = __lasx_xvmaddwod_w_hu_h (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff8c80;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffe40;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00f9f90079f9f9f9;
+ *((unsigned long *)&__m256i_op1[2]) = 0x79f9f9f900000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00f9f90079f9f9f9;
+ *((unsigned long *)&__m256i_op1[0]) = 0x79f9f9f900000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff8c80;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffe40;
+ __m256i_out
+ = __lasx_xvmaddwod_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000154dc84;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000089;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000154dc84;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000089;
+ __m256i_out
+ = __lasx_xvmaddwod_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffdc;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffdc;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffdc;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffdc;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffeffffffdd;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffdc;
+ __m256i_out
+ = __lasx_xvmaddwod_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out
+ = __lasx_xvmaddwod_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x00000000f9f9f9f9;
+ *((unsigned long *)&__m256i_op2[2]) = 0x00000000faf3f3f2;
+ *((unsigned long *)&__m256i_op2[1]) = 0x00000000f9f9f9f9;
+ *((unsigned long *)&__m256i_op2[0]) = 0x00000000faf3f3f2;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfbff0000ffff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfbff0000ffff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfbff0000ffff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfbff0000ffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000000c;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000000c;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0101010101010110;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0101010101010110;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwod_d_wu_w (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000eef14fe8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0202020201010000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000eef14fe8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0202020201010000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0xfe02fe02fee5fe22;
+ *((unsigned long *)&__m256i_op2[0]) = 0xff49fe4200000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000eef14fe8;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffe928f1313c9cc;
+ *((unsigned long *)&__m256i_result[0]) = 0x4244020201010000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[2]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[1]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[0]) = 0x0005000500050005;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000fffffff6;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffffff6;
+ *((unsigned long *)&__m256i_op2[3]) = 0x3f3f3f3f3f3f3f3f;
+ *((unsigned long *)&__m256i_op2[2]) = 0x3f3f3f3f3f3f3f3f;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000003f3f3f3f;
+ *((unsigned long *)&__m256i_op2[0]) = 0x3f3f3f3f00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_result[2]) = 0xc6c6c6c68787878a;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_result[0]) = 0x8787878a00000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000fffffff6;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffff6;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op2[3]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_op2[2]) = 0xc6c6c6c68787878a;
+ *((unsigned long *)&__m256i_op2[1]) = 0x000000003f3f3f3c;
+ *((unsigned long *)&__m256i_op2[0]) = 0x8787878a00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffe3;
+ *((unsigned long *)&__m256i_result[2]) = 0x63636344c3c3c4f6;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffc3;
+ *((unsigned long *)&__m256i_result[0]) = 0xc3c3c500fffffff6;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op2[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000009;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0004000f00100003;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000400030010000f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0004000f00100003;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000400030010000f;
+ *((unsigned long *)&__m256i_op2[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op2[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffbfffcffeffff0;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffbfffcffeffff0;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000b0cfffff4f3;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000f9bb562f56c80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000b0cfffff4f3;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000f9bb562f56c80;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op2[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op2[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op2[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op2[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_result[3]) = 0x0018761ed60b5d7f;
+ *((unsigned long *)&__m256i_result[2]) = 0xabdcdc9938afafe9;
+ *((unsigned long *)&__m256i_result[1]) = 0x0018761ed60b5d7f;
+ *((unsigned long *)&__m256i_result[0]) = 0xabdcdc9938afafe9;
+ __m256i_out
+ = __lasx_xvmaddwev_q_du_d (__m256i_op0, __m256i_op1, __m256i_op2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 03/22] LoongArch: Add tests for ASX vector subtraction instructions.
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 01/22] LoongArch: Add tests for ASX vector xvadd/xvadda/xvaddi/xvaddwev/ xvaddwodxvsadd instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 02/22] LoongArch: Add tests for ASX vector xvhadd/xvhaddw/xvmaddwev/xvmaddwod instructions Xiaolong Chen
@ 2023-09-13 3:38 ` Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 04/22] LoongArch: Add tests for ASX vector xvmul/xvmod/xvdiv instructions Xiaolong Chen
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Xiaolong Chen @ 2023-09-13 3:38 UTC (permalink / raw)
To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsub.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsubi.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c: New test.
---
.../loongarch/vector/lasx/lasx-xvssub-1.c | 425 +++++++++++
.../loongarch/vector/lasx/lasx-xvssub-2.c | 695 ++++++++++++++++++
.../loongarch/vector/lasx/lasx-xvsub.c | 590 +++++++++++++++
.../loongarch/vector/lasx/lasx-xvsubi.c | 482 ++++++++++++
.../loongarch/vector/lasx/lasx-xvsubwev-1.c | 530 +++++++++++++
.../loongarch/vector/lasx/lasx-xvsubwev-2.c | 440 +++++++++++
.../loongarch/vector/lasx/lasx-xvsubwod-1.c | 695 ++++++++++++++++++
.../loongarch/vector/lasx/lasx-xvsubwod-2.c | 620 ++++++++++++++++
8 files changed, 4477 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c
new file mode 100644
index 00000000000..ada72a16a09
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c
@@ -0,0 +1,425 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000001dc;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000001dc;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff24;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff24;
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[0]) = 0x2020202020202020;
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000bdfef907bc;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000bdfef907bc;
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffc0;
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x2b2b2b2b1bd68080;
+ *((unsigned long *)&__m256i_op1[2]) = 0x2a2ad4d4f2d8807e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x2b2b2b2b1bd68080;
+ *((unsigned long *)&__m256i_op1[0]) = 0x2a2ad4d4f2d8807e;
+ *((unsigned long *)&__m256i_result[3]) = 0xd4d5d4d5e42a7f80;
+ *((unsigned long *)&__m256i_result[2]) = 0xd5d62b2c0d287f82;
+ *((unsigned long *)&__m256i_result[1]) = 0xd4d5d4d5e42a7f80;
+ *((unsigned long *)&__m256i_result[0]) = 0xd5d62b2c0d287f82;
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff07b4ffff0707;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000b8070000a787;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff07b4ffff0707;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000b8070000a787;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff47b4ffff5879;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff47b4ffff5879;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffb7650000d496;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001800000018000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffb7650000d496;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001800000018000;
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000fc300000fc40;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000fc300000fc40;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff000003c0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff000003c0;
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff81001dff9dff9e;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff81001dff9d003b;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff81001dff9dff9e;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff81001dff9d003b;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xff81001dff9dff9e;
+ *((unsigned long *)&__m256i_result[2]) = 0xff81001dff9d003b;
+ *((unsigned long *)&__m256i_result[1]) = 0xff81001dff9dff9e;
+ *((unsigned long *)&__m256i_result[0]) = 0xff81001dff9d003b;
+ __m256i_out = __lasx_xvssub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00fd0101;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00fd0101;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00fd0101;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00fd0101;
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x40f69fe73c26f4ee;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x40f69fe73c26f4ee;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000001fffffff9;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000001fffffff9;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000001fffffff9;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000001fffffff9;
+ *((unsigned long *)&__m256i_result[3]) = 0x40f69fe63c26f4f5;
+ *((unsigned long *)&__m256i_result[2]) = 0x7ff7ffff00000007;
+ *((unsigned long *)&__m256i_result[1]) = 0x40f69fe63c26f4f5;
+ *((unsigned long *)&__m256i_result[0]) = 0x7ff7ffff00000007;
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff00ffff8000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff00ffff8000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000ff00007fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000ff00007fff;
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfc00000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfc00000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfc00000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfc00000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000001010800;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000001010800;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffefef800;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffefef800;
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f0000007f0060;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f0000007f0060;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x007f0000007f0060;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x007f0000007f0060;
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4393a0a5bc606060;
+ *((unsigned long *)&__m256i_op0[2]) = 0x43b32feea9000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x4393a0a5bc606060;
+ *((unsigned long *)&__m256i_op0[0]) = 0x43b32feea9000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x3eab77367fff4848;
+ *((unsigned long *)&__m256i_op1[2]) = 0x408480007fff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x3eab77367fff4848;
+ *((unsigned long *)&__m256i_op1[0]) = 0x408480007fff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x04e8296f3c611818;
+ *((unsigned long *)&__m256i_result[2]) = 0x032eafee29010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x04e8296f3c611818;
+ *((unsigned long *)&__m256i_result[0]) = 0x032eafee29010000;
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001ff91ff100000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001ff91ff100000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000800080;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000800080;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffffff7fff80;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001ff91ff0ffdfe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffffff7fff80;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001ff91ff0ffdfe;
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+ __m256i_out = __lasx_xvssub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c
new file mode 100644
index 00000000000..f42523850a1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c
@@ -0,0 +1,695 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf7fdd5ffebe1c9e3;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf7fdd5ffebe1c9e3;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000002467db99;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000003e143852;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000002467db99;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000003e143852;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffdb982466;
+ *((unsigned long *)&__m256i_result[2]) = 0xf7fdd5ffadcd9191;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffdb982466;
+ *((unsigned long *)&__m256i_result[0]) = 0xf7fdd5ffadcd9191;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00fe00ff00fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00fe00ff00fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fef0000ffff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fef0000ffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000420080000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5fff5fff607f0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000420080000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5fff5fff607f0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000f880f87e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000f880f87e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff0000;
+ __m256i_out = __lasx_xvssub_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010511c54440438;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010511c54440438;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000030b8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000030b8;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000030b8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000030b8;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[0]) = 0xff1cff1cff1cff1c;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100002000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000808000008080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000808000008081;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffec;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffec;
+ *((unsigned long *)&__m256i_result[3]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff4000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000403f3fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0707feb60707b7d0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x45baa7ef6a95a985;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0707feb60707b7d0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x45baa7ef6a95a985;
+ *((unsigned long *)&__m256i_result[3]) = 0x38f7414938f7882f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x38f7414938f78830;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffe0001fffe0003;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffe0001fffe0003;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffe0001fffe0003;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000000;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000f0f0f0ef;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf0f0f0f0f0f0f0ef;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000f0f0f0ef;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf0f0f0f0f0f0f0ef;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000180007f7f;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffafaf80000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000180007f7f;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffafaf80000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000070f07170;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000070f0f0ef;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000070f07170;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000070f0f0ef;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000032;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000003c000000032;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000004e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ffffffffffffff;
+ __m256i_out = __lasx_xvssub_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0010100000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0010100000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0feff00000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0feff00000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x247fe49409620040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x2475cef801f0ffdd;
+ *((unsigned long *)&__m256i_op1[1]) = 0x6580668200fe0002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x419cd5b11c3c5654;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1010100fefefeff0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0f8f0e8df676f778;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0020000000200000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0020000000200000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffdfffffffdfffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffdfffffffdfffff;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0100000001000100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0100000001000100;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffe8ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffe8ffffffe8;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffe8ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffe8ffffffe8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000c0000005;
+ *((unsigned long *)&__m256i_op1[2]) = 0x21f8c3c4c0000005;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000c0000005;
+ *((unsigned long *)&__m256i_op1[0]) = 0x21f8c3c4c0000005;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvssub_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c
new file mode 100644
index 00000000000..c1de1e8d345
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c
@@ -0,0 +1,590 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000009;
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000010100000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000010100000000;
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffbe20fc;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000001cc7ee87;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000010bb83239;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000c409ed87;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0100020001bf1efd;
+ *((unsigned long *)&__m256i_result[2]) = 0x010002001ec8ec88;
+ *((unsigned long *)&__m256i_result[1]) = 0x010002010db9303a;
+ *((unsigned long *)&__m256i_result[0]) = 0x01000200c60aeb88;
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010200000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010200000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010200000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010200000000;
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007e1c7e1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7e00000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007e1c7e1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7e00000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000007e1c7e1c;
+ *((unsigned long *)&__m256i_result[2]) = 0x7e00000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000007e1c7e1c;
+ *((unsigned long *)&__m256i_result[0]) = 0x7e00000000000000;
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000040004000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000004000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000040004000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000004000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01ffff4300ffff00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01ffff4300ffff00;
+ *((unsigned long *)&__m256i_result[3]) = 0xff00ff003f003f00;
+ *((unsigned long *)&__m256i_result[2]) = 0xff0101fd00010100;
+ *((unsigned long *)&__m256i_result[1]) = 0xff00ff003f003f00;
+ *((unsigned long *)&__m256i_result[0]) = 0xff0101fd00010100;
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff010000fff9;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff19;
+ *((unsigned long *)&__m256i_result[1]) = 0xff02ff020001fffa;
+ *((unsigned long *)&__m256i_result[0]) = 0x000100010001fffa;
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x43d03bfff827ea21;
+ *((unsigned long *)&__m256i_op1[2]) = 0x43dac1f2a3804ff0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x43d03bfff827e9f9;
+ *((unsigned long *)&__m256i_op1[0]) = 0x43e019c657c7d050;
+ *((unsigned long *)&__m256i_result[3]) = 0xbc30c40107d915df;
+ *((unsigned long *)&__m256i_result[2]) = 0xbc263e0e5c80b010;
+ *((unsigned long *)&__m256i_result[1]) = 0xbc30c40107d91607;
+ *((unsigned long *)&__m256i_result[0]) = 0xbc20e63aa8392fb0;
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff21c241ff21c241;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff21c241ff21c241;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff21c241ff21c241;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff21c241ff21c241;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[3]) = 0xff21c241ff21c241;
+ *((unsigned long *)&__m256i_result[2]) = 0xff21c241ff21c238;
+ *((unsigned long *)&__m256i_result[1]) = 0xff21c241ff21c241;
+ *((unsigned long *)&__m256i_result[0]) = 0xff21c241ff21c238;
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf7f8f7f8f7f8f7f8;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xf7f8f7f8f7f8f7f8;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000e000e000e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000e0000000d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000e000e000e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000e0000000d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000e000e000e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000e0000000d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000e000e000e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000e0000000d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x207f207f207f2000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000207f2000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_result[3]) = 0xdf80df80df80dfff;
+ *((unsigned long *)&__m256i_result[2]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffdf80dfff;
+ *((unsigned long *)&__m256i_result[0]) = 0x8080808080808080;
+ __m256i_out = __lasx_xvsub_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xc5c5c5c5c5c5c5c5;
+ *((unsigned long *)&__m256i_result[2]) = 0x45c5c5c645c5c5c6;
+ *((unsigned long *)&__m256i_result[1]) = 0xc5c5c5c5c5c5c5c5;
+ *((unsigned long *)&__m256i_result[0]) = 0x45c5c5c645c5c5c6;
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xe0f02081c1c4ce2c;
+ *((unsigned long *)&__m256i_result[2]) = 0x8008000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xe0f02081c1c4ce2c;
+ *((unsigned long *)&__m256i_result[0]) = 0x8008000000000000;
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff3eff3eff3eff3e;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff3eff3eff3eff3e;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xff3eff3eff3eff3e;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xff3eff3eff3eff3e;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000001c9880;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000001c9880;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffe36780;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffe36780;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000100000001;
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00b213171dff0606;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00e9a80014ff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00b213171dff0606;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00e9a80014ff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00b213181dff0607;
+ *((unsigned long *)&__m256i_result[2]) = 0x00e9a80114ff0001;
+ *((unsigned long *)&__m256i_result[1]) = 0x00b213181dff0607;
+ *((unsigned long *)&__m256i_result[0]) = 0x00e9a80114ff0001;
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000fdfdfe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001fffe0001fffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001fffe00010000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7ffe0001fffe0001;
+ *((unsigned long *)&__m256i_result[2]) = 0x7ffe0001fffeffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000fdfdfe;
+ __m256i_out = __lasx_xvsub_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff90ffffff80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff90ffffff80;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000006f0000007f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000006f0000007f;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8080808080808081;
+ *((unsigned long *)&__m256i_result[1]) = 0x8080808080808081;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff017e01fe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x017e00ff017e00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff017e01fe;
+ *((unsigned long *)&__m256i_op1[3]) = 0xe1616161e1614e60;
+ *((unsigned long *)&__m256i_op1[2]) = 0xe1616161e1614e60;
+ *((unsigned long *)&__m256i_op1[1]) = 0xe1616161e1614e60;
+ *((unsigned long *)&__m256i_op1[0]) = 0xe1616161e1614e60;
+ *((unsigned long *)&__m256i_result[3]) = 0x1f9d9f9d1f9db29f;
+ *((unsigned long *)&__m256i_result[2]) = 0x1f9d9f9d201cb39e;
+ *((unsigned long *)&__m256i_result[1]) = 0x201c9f9d201cb29f;
+ *((unsigned long *)&__m256i_result[0]) = 0x1f9d9f9d201cb39e;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffeffebfb7afb62;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffeffebfb7afb62;
+ *((unsigned long *)&__m256i_op1[3]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc192181230000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc192181230000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x4010000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x3e6ce7d9cb7afb62;
+ *((unsigned long *)&__m256i_result[1]) = 0x4010000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x3e6ce7d9cb7afb62;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffed;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffed;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffed;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffed;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0fffffff0fffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0fffffff0fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0fffffff0fffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007fff7fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0fffffff0fffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x90007fff90008000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0ffffffe90008000;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffff80000000;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x05ea05ea05ea05ec;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x05ea05ea05ea05ec;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfa15fa15fa15fa14;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfa15fa15fa15fa14;
+ __m256i_out = __lasx_xvsub_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsub_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0505070804040404;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0504070804040404;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0505070804040404;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0504070804040404;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ff000000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ff000000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0504080804030405;
+ *((unsigned long *)&__m256i_result[2]) = 0x0504060904040305;
+ *((unsigned long *)&__m256i_result[1]) = 0x0504080804030405;
+ *((unsigned long *)&__m256i_result[0]) = 0x0504060904040305;
+ __m256i_out = __lasx_xvsub_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000fff8fff8;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ff00fff8ffc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000fff8fff8;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ff00fff8ffc0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000fff8ff40;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ff0100090040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000fff8ff40;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ff0100090040;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000000b7;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffefff80;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000000b7;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffefff80;
+ __m256i_out = __lasx_xvsub_q (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c
new file mode 100644
index 00000000000..a3c0de6d354
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c
@@ -0,0 +1,482 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xe9e9e9e9e9e9e9e9;
+ *((unsigned long *)&__m256i_result[2]) = 0xe9e9e9e9e9e9e9e9;
+ *((unsigned long *)&__m256i_result[1]) = 0xe9e9e9e9e9e9e9e9;
+ *((unsigned long *)&__m256i_result[0]) = 0xe9e9e9e9e9e9e9e9;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x17);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[3]) = 0xf9f8f9f8f9f9f900;
+ *((unsigned long *)&__m256i_result[2]) = 0xf9f9f9f9f9f9f9e0;
+ *((unsigned long *)&__m256i_result[1]) = 0xf9f8f9f8f9f9f900;
+ *((unsigned long *)&__m256i_result[0]) = 0xf9f9f9f9f9f9f900;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000007f;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xefefefefefefefef;
+ *((unsigned long *)&__m256i_result[2]) = 0xefefefefefefefef;
+ *((unsigned long *)&__m256i_result[1]) = 0xefefefefefefef6e;
+ *((unsigned long *)&__m256i_result[0]) = 0xeeeeeeeeeeeeeeee;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_result[2]) = 0x6aeaeaeaeaeaeaea;
+ *((unsigned long *)&__m256i_result[1]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_result[0]) = 0x6aeaeaeaeaeaeaea;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x15);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf6f6f6f6f6f6f6f6;
+ *((unsigned long *)&__m256i_result[2]) = 0xf6f6f6f6f6f6f6f6;
+ *((unsigned long *)&__m256i_result[1]) = 0xf6f6f6f6f6f6f6f6;
+ *((unsigned long *)&__m256i_result[0]) = 0xf6f6f6f6f6f6f6f6;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000002a54290;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xe7e7e7e7e7e7e7e7;
+ *((unsigned long *)&__m256i_result[2]) = 0xe7e7e7e7e7e7e7e7;
+ *((unsigned long *)&__m256i_result[1]) = 0xe7e7e7e7e7e7e7e7;
+ *((unsigned long *)&__m256i_result[0]) = 0xe7e7e7e7e7e7e7e7;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x19);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op0[1]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_result[3]) = 0xdbcbdbcbecececec;
+ *((unsigned long *)&__m256i_result[2]) = 0xdbcbdbcbdbcbdbcb;
+ *((unsigned long *)&__m256i_result[1]) = 0xdbcbdbcbecececec;
+ *((unsigned long *)&__m256i_result[0]) = 0xdbcbdbcbdbcbdbcb;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0e0d0c0b0e0d0c0b;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0e0d0c0b0e0d0c0b;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0e0d0c0b0e0d0c0b;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0e0d0c0b0e0d0c0b;
+ *((unsigned long *)&__m256i_result[3]) = 0x0a0908070a090807;
+ *((unsigned long *)&__m256i_result[2]) = 0x0a0908070a090807;
+ *((unsigned long *)&__m256i_result[1]) = 0x0a0908070a090807;
+ *((unsigned long *)&__m256i_result[0]) = 0x0a0908070a090807;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_result[2]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_result[1]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_result[0]) = 0xf9f9f9f9f9f9f9f9;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xf3f3f3f3f3f3f3f3;
+ *((unsigned long *)&__m256i_result[2]) = 0xf2f2f2f2f2f2f2f2;
+ *((unsigned long *)&__m256i_result[1]) = 0xf3f3f3f3f3f3f3f3;
+ *((unsigned long *)&__m256i_result[0]) = 0xf2f2f2f2f2f2f2f2;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_result[2]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_result[1]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_result[0]) = 0xebebebebebebebeb;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfefefefefdfdfdfd;
+ *((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfefefefefdfdfdfd;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xe4e4e4e4e4e4e4e4;
+ *((unsigned long *)&__m256i_result[2]) = 0xe4e4e4e4e4e4e4e4;
+ *((unsigned long *)&__m256i_result[1]) = 0xe4e4e4e4e4e4e4e4;
+ *((unsigned long *)&__m256i_result[0]) = 0xe4e4e4e4e4e4e4e4;
+ __m256i_out = __lasx_xvsubi_bu (__m256i_op0, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff7fff7fff7fff7;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff7fff7fff7fff7;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff7fff7fff7fff7;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff7fff7fff7fff7;
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0x9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000022be22be;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fffa2bea2be;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000022be22be;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fffa2bea2be;
+ *((unsigned long *)&__m256i_result[3]) = 0xffe1ffe1229f229f;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fe07fe0a29fa29f;
+ *((unsigned long *)&__m256i_result[1]) = 0xffe1ffe1229f229f;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fe07fe0a29fa29f;
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0x1f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffe5ffe5ffe5ffe5;
+ *((unsigned long *)&__m256i_result[2]) = 0xffe5ffe5ffe5ffe5;
+ *((unsigned long *)&__m256i_result[1]) = 0xffe5ffe5ffe5ffe5;
+ *((unsigned long *)&__m256i_result[0]) = 0xffe5ffe5ffe5ffe5;
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0x1b);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff1fff1fff1fff1;
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffcfffcfffcfffc;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffcfffcfffcfffc;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffcfffcfffcfffc;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffcfffcfffcfffc;
+ __m256i_out = __lasx_xvsubi_hu (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000004fb;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffefffffffef;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffef000004ea;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffefffffffef;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffefffffffef;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffecffffffec;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffecffffffec;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000018;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000018;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff30000000b;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff3fffffff3;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffff30000000b;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff3fffffff3;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff5fffffff5;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff5fffffff5;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffff5fffffff5;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff5fffffff5;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffe5ffffffe5;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe5ffffffe5;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe5ffffffe5;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe5ffffffe5;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x1a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffeaffffffea;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffeaffffffea;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffeaffffffea;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffeaffffffea;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x16);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x5d20a0a15d20a0a1;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x5d20a0a15d20a0a1;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x5d20a0895d20a089;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe8ffffffe8;
+ *((unsigned long *)&__m256i_result[1]) = 0x5d20a0895d20a089;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe8ffffffe8;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffe8ffffffe8;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe8ffffffe8;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe8ffffffe8;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe8ffffffe8;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffcfffffffc;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffcfffffffc;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffcfffffffc;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffcfffffffc;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffeb683007ffd80;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c0df5b41cf;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffeb683007ffd80;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c0df5b41cf;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffeb664007ffd61;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffe97a1df5b41b0;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffeb664007ffd61;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffe97a1df5b41b0;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x1f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffe7ffffffe7;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe7ffffffe7;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe7ffffffe7;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe7ffffffe7;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x19);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000400000003ffb;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000400100004001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000400000003ffb;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000400100004001;
+ *((unsigned long *)&__m256i_result[3]) = 0x00003fef00003fea;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003ff000003ff0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00003fef00003fea;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003ff000003ff0;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffe4ffffffe4;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffe4ffffffe4;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffe4ffffffe4;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffe4ffffffe4;
+ __m256i_out = __lasx_xvsubi_wu (__m256i_op0, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffefe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffefb;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffefb;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fe;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffc0008001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffffc0008001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffc0008001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffffc0008001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffffc0007fe9;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffffc0007fe9;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffffc0007fe9;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffffc0007fe9;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff6;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff6;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffff6;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff6;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffee;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffe6;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffe6;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffe6;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffe6;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x1a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffe1;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffe1;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffe1;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffe1;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x1f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000100080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000100080;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000006d;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000010006d;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000006d;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000010006d;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffef;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffef;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffee;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff4;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff4;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffff4;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff4;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffed;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffed;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffed;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffed;
+ __m256i_out = __lasx_xvsubi_du (__m256i_op0, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c
new file mode 100644
index 00000000000..caa72ca61d7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c
@@ -0,0 +1,530 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000003fff3fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000003f0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000030007;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000003f0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000030007;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000003f0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000030007;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000003f0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000030007;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff47b4ffff5879;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff47b4ffff5879;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffb10001ff8f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001004c0001ff87;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffb10001ff8f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001004c0001ff87;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff7;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff7;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ff02ff80fede;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ff02ff80fede;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000fffe00800022;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fffe00800022;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffc0;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fff0ffc0;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffc0;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fff0ffc0;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000001010000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000001010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff0000;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff00017fff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffe4ffffffe4;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffe4ffffffe4;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffe4ffffffe4;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffe4ffffffe4;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001d0000001c;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001d0000001c;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001d0000001c;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001d0000001c;
+ __m256i_out = __lasx_xvsubwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000010000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000010000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffeff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffeff00000000;
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffefd;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010203;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffefefffffcfa;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffefefffffefe;
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000600000006;
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000102;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000fffffffefe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffefd;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000008080809;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000008080809;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000008080809;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000008080809;
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000300000003;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000300000003;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000300000003;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000300000003;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffffd;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffffd;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffffd;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffffd;
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000400000004;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000400000004;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffff1cff1c;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffff1cff18;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffff1cff1c;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffff1cff18;
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000001400;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000003c01ff9;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000003c01ff9;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffec00;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffc3fe007;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffc3fe007;
+ __m256i_out = __lasx_xvsubwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00010000;
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000010100000102;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000010100000102;
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x007fffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007fffff007fffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x007fffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007fffff007fffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00c200c200c200c2;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00c200c200c200bb;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00c200c200c200c2;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00c200c200c200bb;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffbdff3cffbdff44;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffbdff3cffbdff44;
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c
new file mode 100644
index 00000000000..57d883c04c6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c
@@ -0,0 +1,440 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000001700170017;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000001700170017;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000001700170017;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001700170017;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00007f7f00007f7f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00007f7f00007f7f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00007f7f00007f7f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00007f7f00007f7f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000007f0000007f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000007f0000007f;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff80ff01ff80;
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff800000007e;
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0043030300400300;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0043030300400300;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0043030300400100;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0043030300400100;
+ *((unsigned long *)&__m256i_result[3]) = 0xffdd001dffe00020;
+ *((unsigned long *)&__m256i_result[2]) = 0xffdd001dffe00031;
+ *((unsigned long *)&__m256i_result[1]) = 0xffdd001dffe00020;
+ *((unsigned long *)&__m256i_result[0]) = 0xffdd001dffe00031;
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000001ffe2000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x001fe020001fe020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000001ffe2000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x001fe020001fe020;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff0020ff1f001f;
+ *((unsigned long *)&__m256i_result[2]) = 0xffe1ffe0ffe1ffe0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff0020ff1f001f;
+ *((unsigned long *)&__m256i_result[0]) = 0xffe1ffe0ffe1ffe0;
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffee00ba;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffee00ba;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x80008000fff98000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x80008000fff98000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00fffff500ba;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00fffff500ba;
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000004efffe00;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000047000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000004efffe00;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000047000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff01;
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[2]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff01ff01ff01;
+ __m256i_out = __lasx_xvsubwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffcfffcfffcfffc;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffcfffcfffcfffc;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000fffc0000fffc;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fffc0000fffc;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001504f4c4b2361;
+ *((unsigned long *)&__m256i_op0[2]) = 0x303338a48f374969;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001504f4c4b2361;
+ *((unsigned long *)&__m256i_op0[0]) = 0x303338a48f374969;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf0f0f0f0f0f0f0f0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf0f0f0f0f0f0f0f0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff47b4ffff5879;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000504fffff3271;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff47b4ffff5879;
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000f0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000f0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000f0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000000f0;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff00000000;
+ __m256i_out = __lasx_xvsubwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffefffffefc;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffff8;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffbf4;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffc;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffc;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000308;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000010100000102;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000010100000102;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffefd;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffefd;
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff8c80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffe40;
+ *((unsigned long *)&__m256i_op1[3]) = 0x80000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x80000000ffff8c80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x80000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x80000000fff0e400;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000f1a40;
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000003effe1;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000003effe1;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000003effe1;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000003effe1;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffff7;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffff7;
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000fffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000fffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000fffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000fffe;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff0002;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffff0002;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff0002;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffff0002;
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff0000;
+ __m256i_out = __lasx_xvsubwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x5d20a0a15d20a0a1;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x5d20a0a15d20a0a1;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff00ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000010000000001;
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffeffffff00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffeffffff00;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000100;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000100;
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0040000000000003;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0040000000000003;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvsubwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c
new file mode 100644
index 00000000000..1687729d361
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c
@@ -0,0 +1,695 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[3]) = 0xffe4ffe6ffe5ffe6;
+ *((unsigned long *)&__m256i_result[2]) = 0xffe4ffe6ffe5ffe6;
+ *((unsigned long *)&__m256i_result[1]) = 0xffe4ffe6ffe5ffe6;
+ *((unsigned long *)&__m256i_result[0]) = 0xffe4ffe6ffe5ffe6;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000fffffffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000fffffffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffffffe;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x017e01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0586060601fe0202;
+ *((unsigned long *)&__m256i_op1[1]) = 0x017e01fe01fe0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0586060601fe0004;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffbfffafffffffe;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffbfffaffff0000;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op0[1]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffefffefffefffef;
+ *((unsigned long *)&__m256i_result[1]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffefffefffefffef;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000003ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff01;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff90ffffff80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff90ffffff80;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffff6;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffff6;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffff6;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffff6;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100008000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100007fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100008000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100007fff;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000080000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x43ef878780000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000080000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x43ef878780000009;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffff8000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000043efffff8000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff8000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000043efffff8000;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x003f60041f636003;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x003f60041f636003;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000003f00001f63;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000003f00001f63;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000400080ffc080;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000400080ffc080;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff80ff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff80ff;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000b7;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffefff80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000b7;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffefff80;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc3030000ff800000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc3030000ff800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003cfc0000006f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003cfc0000006f;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffff6361;
+ *((unsigned long *)&__m256i_op1[2]) = 0x4d0a902890b800dc;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffff6361;
+ *((unsigned long *)&__m256i_op1[0]) = 0x4d0a902890b800dc;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffb2f600006f48;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffb2f600006f48;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001fffe0001fffe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001fffe0001fffe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000001fffe;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000060000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000060000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000020202020;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000fff8ff40;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ff0100090040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000fff8ff40;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ff0100090040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000000b7;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffefff80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000b7;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffefff80;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff02;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff02;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000700000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000700000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000700000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000005ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000700000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffe00;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffe00;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffe00;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffe00;
+ __m256i_out = __lasx_xvsubwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1e17ffffd0fc6772;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1e17ffffebf6ded2;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1e17ffffd0fc6772;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1e17ffffebf6ded2;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xe1e800002f03988d;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xe1e800002f03988d;
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9cffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9cffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x6300000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x6300000000000001;
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000808;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xf7f7f7f7f7f7f7f8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000e000e000e000e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000e000e000e000e;
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0a0a000000000a0a;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0a0a0a0a00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0a0a000000000a0a;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0a0a0a0a00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0a0a000000000a0a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0a0a000000000a0a;
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c
new file mode 100644
index 00000000000..8d6ed92a1c1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c
@@ -0,0 +1,620 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[2]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff01ff01ff01;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000020001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffcc8000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007dfdff4b;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff3400000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ff83ff01;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000004000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ff010000ff01;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ff010000ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ff010000ff01;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ff010000ff01;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op0[1]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff0fff0ff01ff01;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff0fff0fff0fff0;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff0fff0ff01ff01;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff0fff0fff0fff0;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001fffe0001fffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001fffe0001fffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001fffe0001fffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001fffe0001fffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xdf80df80df80df80;
+ *((unsigned long *)&__m256i_op1[2]) = 0xdfc2df80df80df87;
+ *((unsigned long *)&__m256i_op1[1]) = 0xdf80df80df80df80;
+ *((unsigned long *)&__m256i_op1[0]) = 0xdfc2df80df80df87;
+ *((unsigned long *)&__m256i_result[3]) = 0xff21ff21ff21ff21;
+ *((unsigned long *)&__m256i_result[2]) = 0xff21ff21ff21ff21;
+ *((unsigned long *)&__m256i_result[1]) = 0xff21ff21ff21ff21;
+ *((unsigned long *)&__m256i_result[0]) = 0xff21ff21ff21ff21;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4079808280057efe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007ffcfcfd020202;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x004000800080007e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000fc00fd0002;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff0100000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff01ff0100000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff0100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff01ff0100000000;
+ __m256i_out = __lasx_xvsubwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ffe00007f000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff000100000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000007fff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff7fff00007f00;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff000100007fff;
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000b8f81b8c840e4;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000b8f81b8c840e4;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffb3b4;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff5ffff4738;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffb3b4;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff5ffff4738;
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00009fff9ffffd80;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff20010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00009fff9ffffd80;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff20010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00002080df5b41cf;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00002080df5b41cf;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000009fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff40a6;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000009fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff40a6;
+ __m256i_out = __lasx_xvsubwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00007fffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00007fffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffff8001;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffff8001;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000001;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x020afefb08140000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0003fffc00060000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff00ffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff0001ff02;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff020afefc;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000003fefd;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1514151415141514;
+ *((unsigned long *)&__m256i_op1[2]) = 0x151415141514e335;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1514151415141514;
+ *((unsigned long *)&__m256i_op1[0]) = 0x151415141514e335;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000e9ece9ec;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000e9ece9ec;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000e9ece9ec;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000e9ece9ec;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0008000800080008;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000c005e000c0029;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0004005600040020;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0002000000020000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000300000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0002000000020000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000300000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000060008;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000c005b;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffe0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000040053;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf7f8f7f8f800f800;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003f784000ff80;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf7f8f7f84000fff9;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003f784000ff80;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000f7f8f7f8;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000003f78;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000f7f8f7f8;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000003f78;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7000700070007000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7000700070007000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000070007000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7000700070007000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff8fff9000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff8fff9000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff8fff9000;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0xc848c848c848c848;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8848c848c848c848;
+ *((unsigned long *)&__m256i_op1[1]) = 0xc848c848c848c848;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8848c848c848c848;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff37b737b8;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff77b737b8;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff37b737b8;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff77b737b8;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x457db03e457db03e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x457db03e45a87310;
+ *((unsigned long *)&__m256i_op0[1]) = 0x457db03e457db03e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x457db03e45a87310;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000457db03e;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff457db03f;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000457db03e;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff457db03f;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvsubwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000001;
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000b2673a90896a4;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000050504c4c2362;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000b2673a90896a4;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffafafb3b3dc9d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffafafb3b3dc9d;
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000008050501;
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001fff000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000029170;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001fff000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000029170;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000001fff000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000001fff000;
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000090b0906;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsubwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 04/22] LoongArch: Add tests for ASX vector xvmul/xvmod/xvdiv instructions.
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
` (2 preceding siblings ...)
2023-09-13 3:38 ` [PATCH v4 03/22] LoongArch: Add tests for ASX vector subtraction instructions Xiaolong Chen
@ 2023-09-13 3:38 ` Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 05/22] LoongArch: Add tests for ASX vector xvmax/xvmaxi/xvmin/xvmini instructions Xiaolong Chen
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Xiaolong Chen @ 2023-09-13 3:38 UTC (permalink / raw)
To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmul.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c: New test.
---
.../loongarch/vector/lasx/lasx-xvdiv-1.c | 485 ++++++++++++++
.../loongarch/vector/lasx/lasx-xvdiv-2.c | 500 ++++++++++++++
.../loongarch/vector/lasx/lasx-xvmod-1.c | 395 +++++++++++
.../loongarch/vector/lasx/lasx-xvmod-2.c | 410 ++++++++++++
.../loongarch/vector/lasx/lasx-xvmul.c | 620 ++++++++++++++++++
.../loongarch/vector/lasx/lasx-xvmulwev-1.c | 590 +++++++++++++++++
.../loongarch/vector/lasx/lasx-xvmulwev-2.c | 590 +++++++++++++++++
.../loongarch/vector/lasx/lasx-xvmulwev-3.c | 605 +++++++++++++++++
.../loongarch/vector/lasx/lasx-xvmulwod-1.c | 545 +++++++++++++++
.../loongarch/vector/lasx/lasx-xvmulwod-2.c | 470 +++++++++++++
.../loongarch/vector/lasx/lasx-xvmulwod-3.c | 440 +++++++++++++
11 files changed, 5650 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmul.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c
new file mode 100644
index 00000000000..0d7c677039b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c
@@ -0,0 +1,485 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00080000000cc916;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000006fff3;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffefffffefc;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00f8000000f41bfb;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000fa0106;
+ __m256i_out = __lasx_xvdiv_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000fe000000fe;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000fe000000fe;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000fe000000fe;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000fe000000fe;
+ __m256i_out = __lasx_xvdiv_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01fe01fe01fe01fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x01fe8001b72e0001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xb72e8001b72eaf12;
+ *((unsigned long *)&__m256i_op0[1]) = 0x01fe000247639d9c;
+ *((unsigned long *)&__m256i_op0[0]) = 0xb5308001b72eaf12;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff017e01fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x017e00ff017e00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff017e01fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0002ff80ffb70000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffb7ff80ffd0ffd8;
+ *((unsigned long *)&__m256i_result[1]) = 0x00010000002fff9e;
+ *((unsigned long *)&__m256i_result[0]) = 0xffb5ff80ffd0ffd8;
+ __m256i_out = __lasx_xvdiv_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8091811081118110;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80a6802680208015;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8091811081110013;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80a6802680200018;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8091811081118110;
+ *((unsigned long *)&__m256i_op1[2]) = 0x80a6802680208015;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8091811081110013;
+ *((unsigned long *)&__m256i_op1[0]) = 0x80a6802680200018;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvdiv_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x1f831f80e0e09f86;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x1f831f80e0e09f86;
+ __m256i_out = __lasx_xvdiv_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xdededededededede;
+ *((unsigned long *)&__m256i_op1[2]) = 0xdededededededede;
+ *((unsigned long *)&__m256i_op1[1]) = 0xdededededededede;
+ *((unsigned long *)&__m256i_op1[0]) = 0xdededededededede;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffa080000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffe080000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffa080000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffe080000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0010002000100020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0010002000100020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0010002000100020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0010002000100020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000fd00ffff02ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001fffeff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffff81ffffff00;
+ __m256i_out = __lasx_xvdiv_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffff00;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffff00;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff0000000f;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff0000000d;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff0000000f;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff0000000d;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff0000000f;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff0000000d;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff0000000f;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff0000000d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvdiv_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x3f2c678e38d1104c;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x3f2c678e38d1104c;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000d000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000d000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000583800;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000100000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000583800;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000100000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000d0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000d0000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op1[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffe00000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffe00000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffff30000000b;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffff3fffffff3;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffff30000000b;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffff3fffffff3;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0010000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0008000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0010000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0008000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000007fef;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000007fef;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000007fef;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000007fef;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01010101010101c9;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01010101010101c9;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000003f;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ff88ff88;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff88ff88;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[3]) = 0x001fffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x001fffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffffe;
+ __m256i_out = __lasx_xvdiv_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c
new file mode 100644
index 00000000000..fd8b6d38cf8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c
@@ -0,0 +1,500 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000017e;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0202020202020202;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0202810102020202;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0202020202020202;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0202810102020202;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000003f;
+ __m256i_out = __lasx_xvdiv_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffba0c05;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffba0c05;
+ *((unsigned long *)&__m256i_op1[3]) = 0x5353535353535353;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5353535353535353;
+ *((unsigned long *)&__m256i_op1[1]) = 0x5353535353535353;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5353535353535353;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0303030303020000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0303030303020000;
+ __m256i_out = __lasx_xvdiv_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffdfffdfffdfffd;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0100010001000100;
+ __m256i_out = __lasx_xvdiv_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000030b8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000030b8;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9fe7fffffffff32e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x6040190ddfdd8587;
+ *((unsigned long *)&__m256i_op1[1]) = 0xecd011542d2cc4c7;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6040190dffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_result[3]) = 0x7f7fff7f7f7fff7f;
+ *((unsigned long *)&__m256i_result[2]) = 0x7f7fff7f7f7fff7f;
+ *((unsigned long *)&__m256i_result[1]) = 0x7f7fff7f7f7fff7f;
+ *((unsigned long *)&__m256i_result[0]) = 0x7f7fff7f7f7fff7f;
+ __m256i_out = __lasx_xvdiv_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000001010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000001010000;
+ __m256i_out = __lasx_xvdiv_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000007fee;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007fee;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000007fee;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000007fee;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ff00;
+ *((unsigned long *)&__m256i_op0[2]) = 0xe2e2e202ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ff00;
+ *((unsigned long *)&__m256i_op0[0]) = 0xe2e2e202ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffc6ffc6003a003a;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffc6ffc6003a003a;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000465;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000465;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
+ __m256i_out = __lasx_xvdiv_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffff8;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffffffffff8;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffff8;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffff8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010202020203;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010201010102;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010202020203;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010201010102;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00020001ffb6ffe0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0049004200000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ff80;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000468600007f79;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000f3280000dfff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffb7;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000004c00000000;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0020002000200020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0020002000200020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0020002000200020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0020002000200020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000003fb000003fb;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000003fb000003fb;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1fe01e0100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1fe01e0100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1fe01e0100000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1fe01e0100000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ff827f80;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0226823c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ff827f80;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0226823c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x007d003e007d003e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x007d003effa80010;
+ *((unsigned long *)&__m256i_op1[1]) = 0x007d003e007d003e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x007d003effa80010;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01ffff4300ffff00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01ffff4300ffff00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000008000000100;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000008000000100;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fff80007fff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fff80007fff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000007fff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000007fff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000008000;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9cffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9cffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000045;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000d0005;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000045;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000d0005;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000013b13380;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000013b13380;
+ __m256i_out = __lasx_xvdiv_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000e2e20000e2e2;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00011d1c00011d9c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000e2e20000e2e2;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00011d1c00011d9c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000e2e20000e2e2;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00011d1c00011d9c;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000e2e20000e2e2;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00011d1c00011d9c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvdiv_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x232221201f1e1d1c;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1b1a191817161514;
+ *((unsigned long *)&__m256i_op1[1]) = 0x232221201f1e1d1c;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1b1a191817161514;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000010100000101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000010100000101;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000101;
+ __m256i_out = __lasx_xvdiv_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010202020203;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010201010102;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010202020203;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010201010102;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffff0fffffff0;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffff0fffffff0;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffff0fffffff0;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffff0fffffff0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvdiv_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c
new file mode 100644
index 00000000000..6f34f6ffcbc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c
@@ -0,0 +1,395 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00000000000000;
+ __m256i_out = __lasx_xvmod_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8001b72e0001b72e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8001b72eaf12d5f0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000247639d9cb530;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8001b72eaf12d5f0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff017e01fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x017e00ff017e00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff017e01fe;
+ *((unsigned long *)&__m256i_result[3]) = 0xff81ffe50001ffe5;
+ *((unsigned long *)&__m256i_result[2]) = 0xff81ffe5ffa6ffc6;
+ *((unsigned long *)&__m256i_result[1]) = 0x000200aafe9affe5;
+ *((unsigned long *)&__m256i_result[0]) = 0xff81ffe5ffa6ffc6;
+ __m256i_out = __lasx_xvmod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op1[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x07efefefefefefee;
+ *((unsigned long *)&__m256i_op1[2]) = 0x07efefefefefefee;
+ *((unsigned long *)&__m256i_op1[1]) = 0x07efefefefefefee;
+ *((unsigned long *)&__m256i_op1[0]) = 0x07efefefefefefee;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x80008000b70fb810;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3c0f3c0f3911b910;
+ *((unsigned long *)&__m256i_op0[1]) = 0x80008000b70fb810;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3c0f3c0f3911b910;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffff6f20;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000781e0000f221;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff6f20;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000781e0000f221;
+ __m256i_out = __lasx_xvmod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xc800c800c800c800;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8800c800c800c801;
+ *((unsigned long *)&__m256i_op1[1]) = 0xc800c800c800c800;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8800c800c800c801;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101000101010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101000101010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101000101010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101000101010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fe36364661af18f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fe363637fe36363;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fe36364661af18f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fe363637fe36363;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101000101010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101000101010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101000101010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101000101010001;
+ __m256i_out = __lasx_xvmod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc3030000ff800000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc3030000ff800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x41dffbffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff00ff800000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x41dffbffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff00ff800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000010100;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000001000100;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000800000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000800080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xc9d8080067f50020;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc70000020000c000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000010100;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000001000100;
+ __m256i_out = __lasx_xvmod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff3cff3cff3cff3c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff3cff3cff3cff3c;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff3cff3cff3cff3c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff3cff3cff3cff3c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000001400000014;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000001400000014;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000001400000014;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001400000014;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7c007c007c007c00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000001010000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000007efeff00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000001010000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007efeff00;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000008e7c00;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000067751500;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000008e7c00;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000067751500;
+ __m256i_out = __lasx_xvmod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffefffefffefffef;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffefffefffefffef;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff00ff0000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff00ff0000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_result[3]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffefffefffefffef;
+ *((unsigned long *)&__m256i_result[1]) = 0xffefffef00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffefffefffefffef;
+ __m256i_out = __lasx_xvmod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00fe00fe00fe00fe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00fe00fe00fe00fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00fe00fe00fe00fe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00fe00fe00fe00fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc848c848c848c848;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8848c848c848c848;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc848c848c848c848;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8848c848c848c848;
+ *((unsigned long *)&__m256i_op1[3]) = 0xc848c848c848c848;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8848c848c848c848;
+ *((unsigned long *)&__m256i_op1[1]) = 0xc848c848c848c848;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8848c848c848c848;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000e0001000e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000e0001000e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000e0001000e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000e0001000e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c
new file mode 100644
index 00000000000..d0a9e9d2fed
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c
@@ -0,0 +1,410 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1e18000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1e18000000000000;
+ __m256i_out = __lasx_xvmod_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01010101010101c9;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01010101010101c9;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000200000002;
+ __m256i_out = __lasx_xvmod_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffe000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffe000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000e000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000e000;
+ __m256i_out = __lasx_xvmod_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe06df8d7;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffbe8b470f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7ffffffffffff7ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffe06df0d7;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7ffffffffffff7ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffbe8b470f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000800;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000800;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000800;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff90000fff9fff9;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff90000fff9fff9;
+ *((unsigned long *)&__m256i_op1[3]) = 0x108659e46485f7e1;
+ *((unsigned long *)&__m256i_op1[2]) = 0x4df5b1a3ed5e02c1;
+ *((unsigned long *)&__m256i_op1[1]) = 0x108659e46485f7e1;
+ *((unsigned long *)&__m256i_op1[0]) = 0x4df5b1a3ed5e02c1;
+ *((unsigned long *)&__m256i_result[3]) = 0x081abb9d36ee1037;
+ *((unsigned long *)&__m256i_result[2]) = 0x1617eb17129bfd38;
+ *((unsigned long *)&__m256i_result[1]) = 0x081abb9d36ee1037;
+ *((unsigned long *)&__m256i_result[0]) = 0x1617eb17129bfd38;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfe8bfe0efe8bfe12;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfe8bfe0efe8bfe12;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7171717171717171;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8e8e8e8e8e8e8e8e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7171717171717171;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8e8e8e8e8e8e8e8e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000005500000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001005500020000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000005500000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001005500020000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000100010001fffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000100010001fffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000005500000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000005400000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000005500000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000005400000002;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffff800000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x007f0000ff807f81;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffff800000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x007f0000ff807f81;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff0000;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff8000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff8000;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000000c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000000c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000010100000101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000010100000101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000010100000101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000010100000101;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000000c;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000000c;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff000000010000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000095120000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xc9da000063f50000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc7387fff6bbfffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+ __m256i_out = __lasx_xvmod_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1fffffff1fffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0383634303836343;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1fffffff1fffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0383634303836343;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000001000000;
+ __m256i_out = __lasx_xvmod_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00007f8000007f80;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00007f8000007f80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00007f8000007f80;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00007f8000007f80;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmod_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmul.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmul.c
new file mode 100644
index 00000000000..be3c8e718f8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmul.c
@@ -0,0 +1,620 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffd1b24e00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffcea54ffff29a8;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff8cad88ff8306b4;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffc1278fffce4c8;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0e2d5626ff75cdbc;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5db4b156e2002a78;
+ *((unsigned long *)&__m256i_op1[1]) = 0xeeffbeb03ba3e6b0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0c16e25eb28d27ea;
+ *((unsigned long *)&__m256i_result[3]) = 0xf96d674800000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x44a4330e2c7116c0;
+ *((unsigned long *)&__m256i_result[1]) = 0x14187a7822b653c0;
+ *((unsigned long *)&__m256i_result[0]) = 0xfbe0b866962b96d0;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffff01ffffff08;
+ *((unsigned long *)&__m256i_op1[2]) = 0x43700f0100003008;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffff01ffffff08;
+ *((unsigned long *)&__m256i_op1[0]) = 0x43700f0100003008;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000f8;
+ *((unsigned long *)&__m256i_result[2]) = 0xbc8ff0ffffffcff8;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000f8;
+ *((unsigned long *)&__m256i_result[0]) = 0xbc8ff0ffffffcff8;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x353bb67af686ad9b;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x353bb67af686ad9b;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0200000200000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x2c27000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0200000200000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x2c27000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfe00000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1cfd000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfe00000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1cfd000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000180000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xc080ffff0049ffd2;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0002ff80ffb70000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000fffeffb9ff9d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00010000002fff9e;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffd2;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ff8000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000080000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000080000000;
+ __m256i_out = __lasx_xvmul_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00fe01f000010000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000c40086;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00fe01f000010000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000c40086;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000001900000019;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000007fff003f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007fff003f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000627;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000627;
+ __m256i_out = __lasx_xvmul_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffd5a98;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffd5a98;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000007f3a40;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000400;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000400;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x120e120dedf1edf2;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x120e120dedf1edf2;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000907;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000907;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1010000010100000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1010000010100000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1010000010100000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1010000010100000;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00007fff00000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0040000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00007fff00000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7bbbbbbbf7777778;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7bbbbbbbf7777778;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffefffe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffe0001fffe0003;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffe0001fffe0003;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffe0001fffe0003;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffe0001fffe0003;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffe0001fffe0003;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffe0001fffe0003;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xdf00000052a00000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5b7f00ff5b7f00ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xdf00000052a00000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5b7f00ff5b7f00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffff30000000b;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffff3fffffff3;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffff30000000b;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffff3fffffff3;
+ *((unsigned long *)&__m256i_op1[3]) = 0xbc30c40108a45423;
+ *((unsigned long *)&__m256i_op1[2]) = 0xbc263e0e5d00e69f;
+ *((unsigned long *)&__m256i_op1[1]) = 0xbc30c40108a4544b;
+ *((unsigned long *)&__m256i_op1[0]) = 0xbc20e63aa8b9663f;
+ *((unsigned long *)&__m256i_result[3]) = 0x71860bf35f0f9d81;
+ *((unsigned long *)&__m256i_result[2]) = 0x720ed94a46f449ed;
+ *((unsigned long *)&__m256i_result[1]) = 0x71860bf35f0f9f39;
+ *((unsigned long *)&__m256i_result[0]) = 0x72544f0e6e95cecd;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x111ebb784f9c4100;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1c386546809f3b50;
+ *((unsigned long *)&__m256i_op0[1]) = 0x111ebb784f9bf1ac;
+ *((unsigned long *)&__m256i_op0[0]) = 0x21f6050d955d3f68;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xbab0c4b000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xaa0ac09800000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8011ffee804c004c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00faff0500c3ff3c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x80f900f980780078;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0057ffa800ceff31;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00bf00bf00bf00bf;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00bf00bf00bf00bf;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00bf00bf00bf00bf;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00bf00bf00bf00bf;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000011;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000011;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000088;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000088;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000004000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc0008000c0008000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc0008000c0008000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000800080008000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80008000fff98000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80008000fff98000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffeffff97a1;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffdf5b000041b0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffeffff97a1;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffdf5b000041b0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00f8000000000008;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000800f800000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00f8000000000008;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000800f800000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xe3f7fff7fffcbd08;
+ *((unsigned long *)&__m256i_result[2]) = 0x0dbfa28000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xe3f7fff7fffcbd08;
+ *((unsigned long *)&__m256i_result[0]) = 0x0dbfa28000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x7070545438381c1c;
+ *((unsigned long *)&__m256i_result[2]) = 0x7070545438381c1c;
+ *((unsigned long *)&__m256i_result[1]) = 0x7070545438381c1c;
+ *((unsigned long *)&__m256i_result[0]) = 0x7070545438381c1c;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1400080008000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1400080008000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1400080008000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1400080008000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmul_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c
new file mode 100644
index 00000000000..01ff7164904
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c
@@ -0,0 +1,590 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf96d674800000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x44a4330e2c7116c0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x14187a7822b653c0;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfbe0b866962b96d0;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffd1b24e00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffcea54ffff29a8;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff8cad88ff8306b4;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffc1278fffce4c8;
+ *((unsigned long *)&__m256i_result[3]) = 0xebfd15f000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x01700498ff8f1600;
+ *((unsigned long *)&__m256i_result[1]) = 0xf520c7c024221300;
+ *((unsigned long *)&__m256i_result[0]) = 0x00802fd0ff540a80;
+ __m256i_out = __lasx_xvmulwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffff90ffffff81;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffff90ffffff81;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffbdff3cffbdff44;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffbdff3cffbdff44;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000001dc;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000001dc;
+ __m256i_out = __lasx_xvmulwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ff00ff00ef32;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff00ff00ee;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00ff00ee;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffce;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000fc7c;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffce;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000fc7c;
+ __m256i_out = __lasx_xvmulwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000100000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000100000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0010100000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0010100000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf800f800f800c000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf800f800f800a000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf800f800f800e000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf800f800f800e000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff00ffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff8080000004000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000080000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff8080000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000200000002;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00001ff800000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xd8d8c00000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00001ff800000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xd8d8c00000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x3f80000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x3f80000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000ffff88ff88;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000ffff88ff88;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffff8ffffff08;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00f800ffcff8;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffff8ffffff08;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00f800ffcff8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000003868686a20;
+ *((unsigned long *)&__m256i_result[2]) = 0x0045b8ae81bce1d8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000003868686a20;
+ *((unsigned long *)&__m256i_result[0]) = 0x0045b8ae81bce1d8;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc06500550055ffab;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc06500550055ffab;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x6c6c6c6c6c6c6c6c;
+ *((unsigned long *)&__m256i_op1[2]) = 0x6c6c6c6c6c6c6c6c;
+ *((unsigned long *)&__m256i_op1[1]) = 0x6c6c6c6c6c6c6c6c;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6c6c6c6c6c6c6c6c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00ffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00ffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000060000108;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000001060005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007fef0001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmulwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x201fdfe0201fdfe0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x201fdfe0201fdfe0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmulwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000180007fe8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000180007fe8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000fd;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000062d4;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c
new file mode 100644
index 00000000000..32088f4aede
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c
@@ -0,0 +1,590 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4e5cba76cdbaaa78;
+ *((unsigned long *)&__m256i_op0[2]) = 0xce68fdeb4e33eaff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x4e45cc2dcda41b30;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4ccb1e5c4d6b21e4;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x44bb2cd3a35c2fd0;
+ *((unsigned long *)&__m256i_result[0]) = 0xca355ba46a95e31c;
+ __m256i_out = __lasx_xvmulwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0202000002020202;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0202000002010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0202000002020202;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0202000002020000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x01fe000000ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x01fe000001fe0000;
+ __m256i_out = __lasx_xvmulwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000001ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffe0000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000001ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffe0000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff80000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff80000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000f788f788;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000f788f788;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ff01ff68;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000070ff017de6;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ff01ff68;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000070ff017de6;
+ *((unsigned long *)&__m256i_op1[3]) = 0x761ed60b5d7f0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xdc9938afafe904f1;
+ *((unsigned long *)&__m256i_op1[1]) = 0x761ed60b5d7f0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xdc9938afafe904f1;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00004c9000e9d886;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00004c9000e9d886;
+ __m256i_out = __lasx_xvmulwev_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffff328dfff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6651bfff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffff328dfff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6651bfff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffe0001c3fe4001;
+ *((unsigned long *)&__m256i_result[0]) = 0x8ffe800100000000;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff01ff010000fff9;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff19;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff02ff020001fffa;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000100010001fffa;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[3]) = 0x00fe01ff0006ffcf;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000e62f8f;
+ *((unsigned long *)&__m256i_result[1]) = 0x00fe02fe0006ffd6;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000006ffd6;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x01010101010000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffef;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000010;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffef;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000010;
+ *((unsigned long *)&__m256i_result[3]) = 0x0100feff0100eeef;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000001010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0100feff00feef11;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000001010;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x201fdfe0201fdfe0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x201fdfe0201fdfe0;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff47b4ffff5878;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000b84b0000a787;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff47b4ffff5878;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000b84b0000a787;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000020000000200;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000010100000101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000010100000101;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ff1b00e4;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_result[3]) = 0x0807f7f80807f7f8;
+ *((unsigned long *)&__m256i_result[2]) = 0x0807f7f80807f7f8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0807f7f80807f7f8;
+ *((unsigned long *)&__m256i_result[0]) = 0x0807f7f80807f7f8;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc2c2c2c2c2c29cc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc2c2c2c2c2c29cc0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000004e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000001;
+ __m256i_out = __lasx_xvmulwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000000a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000000a;
+ __m256i_out = __lasx_xvmulwev_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000007f000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000007fff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007fff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0408040800008003;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0408040800008003;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0408040800008002;
+ *((unsigned long *)&__m256i_result[0]) = 0xfbf7fbf7ffff7ffd;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc192181230000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xbff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc192181230000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op1[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op1[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_result[3]) = 0x04080c1014182d35;
+ *((unsigned long *)&__m256i_result[2]) = 0x716d696573765161;
+ *((unsigned long *)&__m256i_result[1]) = 0x04080c1014182d35;
+ *((unsigned long *)&__m256i_result[0]) = 0x716d696573765161;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c
new file mode 100644
index 00000000000..19157f6822a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c
@@ -0,0 +1,605 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffefe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffefe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01fe02;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff01ff01fe02;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000ff;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000505;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000004fb;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff8c80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fff0e400;
+ *((unsigned long *)&__m256i_op1[3]) = 0x80000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x80000000ffff8c80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x80000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x80000000fff0e400;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ff01ff01;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ff01c000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ff01ff01;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000f1000000;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01fe04;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff01ff01fe04;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000022ffdd;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000022ffdd;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000f4b6ff23;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000f4b6ff23;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000fffe00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000fffe00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x386000003df80000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x386000003df80000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x5fa0000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x5fa0000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000f20;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000009f0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000002a5429;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000002a5429;
+ *((unsigned long *)&__m256i_op1[3]) = 0x417e01f040800000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x299d060000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x417e01f040800000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x29108b0000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0707feb60707b7d0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x45baa7ef6a95a985;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0707feb60707b7d0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x45baa7ef6a95a985;
+ *((unsigned long *)&__m256i_result[3]) = 0x0707b7cff8f84830;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000354ad4c28;
+ *((unsigned long *)&__m256i_result[1]) = 0x0707b7cff8f84830;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000354ad4c28;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00d5007f00ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00d5007f00ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc600000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc600000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0080000000800000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0080000000800000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0080000000800000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0080000000800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000ef;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000016e00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000155b200;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000b70000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001ff03fe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffec75c2d209f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001ff03fe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffec75c2d209f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000008b;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff010000008b;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op0[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op0[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op1[3]) = 0x03af03af03af03af;
+ *((unsigned long *)&__m256i_op1[2]) = 0x03acfc5303260e80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x03af03af03af03af;
+ *((unsigned long *)&__m256i_op1[0]) = 0x03acfc5303260e80;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000b0cfffff4f3;
+ *((unsigned long *)&__m256i_result[2]) = 0x000f9bb562f56c80;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000b0cfffff4f3;
+ *((unsigned long *)&__m256i_result[0]) = 0x000f9bb562f56c80;
+ __m256i_out = __lasx_xvmulwev_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3ff1808001020101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3ff1808001020101;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000ff7f1080ef8;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0100000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000ff7f1080ef8;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0100000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x003ff18080010201;
+ *((unsigned long *)&__m256i_result[2]) = 0x0100000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x003ff18080010201;
+ *((unsigned long *)&__m256i_result[0]) = 0x0100000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000f0000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000f0000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfbba01c0003f7e3f;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffc6cc05c64d960e;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfbd884e7003f7e3f;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff874dc687870000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffe367cc82f8989a;
+ *((unsigned long *)&__m256i_result[2]) = 0x4f90000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffc3aaa8d58f43c8;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000020202020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffdfffffffdfffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffdfffffffdfffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0020000000200001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0020000000200001;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffff000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffff01;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffff2;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff01;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1010101010001000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x101010100000000e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff000000fe;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff01feffff01ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff000000fe;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff01feffff01ff;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff02000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff02000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x5fa0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x5fa0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwev_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c
new file mode 100644
index 00000000000..80fdcda6376
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c
@@ -0,0 +1,545 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7a7cad6eca32ccc1;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7a7cad6efe69abd1;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7a7cad6eca32ccc1;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7a7cad6efe69abd1;
+ *((unsigned long *)&__m256i_result[3]) = 0xff86005300360034;
+ *((unsigned long *)&__m256i_result[2]) = 0xff86005300020055;
+ *((unsigned long *)&__m256i_result[1]) = 0xff86005300360034;
+ *((unsigned long *)&__m256i_result[0]) = 0xff86005300020055;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x2c27000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x2c27000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff90000fff9fff9;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff90000fff9fff9;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000007f3a40;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000007f3a40;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000d24;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000073333333;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000044444443;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000073333333;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff0020001d001f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000fffe00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000fffe00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ca0000fff80000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ca0000fff80000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010080;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000015d050192cb;
+ *((unsigned long *)&__m256i_op0[2]) = 0x028e509508b16ee9;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000033ff01020e23;
+ *((unsigned long *)&__m256i_op0[0]) = 0x151196b58fd1114d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff0000ffff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff000000ffffff00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffffffff00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000fffffaff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffd7200fffff74f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000702f;
+ __m256i_out = __lasx_xvmulwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000010;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000010;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000808;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0408040800008003;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x04080408fff87803;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0707b7cff8f84830;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000354ad4c28;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0707b7cff8f84830;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000354ad4c28;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fffd5a98;
+ __m256i_out = __lasx_xvmulwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000007e8080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000007e8092;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000007e8080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000007e8092;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffe07de080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000001f20607a;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffe07de080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000001f20607a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000f6ff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000f6ff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0010000000100000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000010000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000010000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000010000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000010000000000;
+ __m256i_out = __lasx_xvmulwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00153f1594ea02ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffffff0100;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff15c1ea95ea02ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000003f0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000030007;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000003f0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000030007;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffe20001dfe1f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00003fe000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00003fe000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfe7ffffffeffffc0;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfe7ffffffeffffc0;
+ __m256i_out = __lasx_xvmulwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmulwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000017fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000017fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c
new file mode 100644
index 00000000000..1a4b221fe7a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c
@@ -0,0 +1,470 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x01480000052801a2;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffdcff64;
+ *((unsigned long *)&__m256i_op1[3]) = 0xbea2e127c046721f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1729c073816edebe;
+ *((unsigned long *)&__m256i_op1[1]) = 0xde91f010000006f9;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5ef1f90efefaf30d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00170000028500de;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fd02f20d;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000fffffffa;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000fffffffa;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7f8000007f800000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fc000007fc00000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7f8000007f800000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fc000007fc00000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4ffc3f7800000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3fc03f6400000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x4ffc3f7800000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3fc03f6400000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x4eb13ec100000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x3ec13ec100000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x4eb13ec100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x3ec13ec100000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x457db03e457db03e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x457db03e45a87310;
+ *((unsigned long *)&__m256i_op0[1]) = 0x457db03e457db03e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x457db03e45a87310;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000040404040;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000040404040;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfe01fe01fd02fd02;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000003fc03fc0;
+ *((unsigned long *)&__m256i_result[1]) = 0xfe01fe01fd02fd02;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000003fc03fc0;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xc039000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc039000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xc039000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc039000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x05ea05ea05ea05ec;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x05ea05ea05ea05ec;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x04f104f104f104f1;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x04f104f104f104f1;
+ __m256i_out = __lasx_xvmulwod_h_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[2]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[0]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffe1;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffff10;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffe1;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff10;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_w_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0ff8010000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0ff8010000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x001175f10e4330e8;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff8f0842ff29211e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffff8d9ffa7103d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020206431;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00f800f800f800f8;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0018181800181818;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00f800f800f800f8;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0018181800181818;
+ *((unsigned long *)&__m256i_result[3]) = 0x001f1f3e3e1f1f00;
+ *((unsigned long *)&__m256i_result[2]) = 0x0003060909060300;
+ *((unsigned long *)&__m256i_result[1]) = 0x001f1f3e3e1f1f00;
+ *((unsigned long *)&__m256i_result[0]) = 0x0003060909060300;
+ __m256i_out = __lasx_xvmulwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x800000ff000000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x800000ff000000ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0fffffff0fffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x90007fff90008000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0ffffffe90008000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x4800408ef07f7f01;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0800000eeffffe02;
+ __m256i_out = __lasx_xvmulwod_d_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmulwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x01fc03e000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x01fc03e000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00fffb0402fddf20;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00fffb0402fddf20;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001fbf9fbe29f52;
+ *((unsigned long *)&__m256i_result[2]) = 0x5b409c0000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001fbf9fbe29f52;
+ *((unsigned long *)&__m256i_result[0]) = 0x5b409c0000000000;
+ __m256i_out = __lasx_xvmulwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000c0000005;
+ *((unsigned long *)&__m256i_op0[2]) = 0x21f8c3c4c0000005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000c0000005;
+ *((unsigned long *)&__m256i_op0[0]) = 0x21f8c3c4c0000005;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffff8000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000043efffff8000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffff8000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000043efffff8000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xbfffa004fffd8000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xbfffa004fffd8000;
+ __m256i_out = __lasx_xvmulwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff6361;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4d0a902890b800dc;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff6361;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4d0a902890b800dc;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000001ff03ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000203ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000001ff03ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000203ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000001ff03fe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffec75c2d209f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000001ff03fe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffec75c2d209f;
+ __m256i_out = __lasx_xvmulwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffff10;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff10;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0002fffc;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff0000fffd0003;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0002fffc;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff0000fffd0003;
+ __m256i_out = __lasx_xvmulwod_q_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c
new file mode 100644
index 00000000000..9fcd3ce0c01
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c
@@ -0,0 +1,440 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3f2c678e38d1104c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3f2c678e38d1104c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00aa000000ac00fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00aa000000ac00fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xdf01010153a10101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x5b7f01ff5b7f10ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xdf01010153a10101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x5b7f01ff5b7f10ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x001f001f001f001f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffd8ffc7ffdaff8a;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffd8ffc7ffdaff8a;
+ *((unsigned long *)&__m256i_result[3]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000080000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000080000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_h_bu_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fff01fd7fff7fff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00007fff7fff7fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00007ffe81fdfe03;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000000f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_d_wu_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000001a00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000001a00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000017f00007f7f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00007f0000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000001ffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfe00000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000001ffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfe00000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000000fd;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff810000000000;
+ __m256i_out = __lasx_xvmulwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x71860bf35f0f9d81;
+ *((unsigned long *)&__m256i_op0[2]) = 0x720ed94a46f449ed;
+ *((unsigned long *)&__m256i_op0[1]) = 0x71860bf35f0f9f39;
+ *((unsigned long *)&__m256i_op0[0]) = 0x72544f0e6e95cecd;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff8910ffff7e01;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff3573ffff8960;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff8910ffff1ca9;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffff5e5ffff8130;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffcb423a587053;
+ *((unsigned long *)&__m256i_result[2]) = 0x6d46f43e71141b81;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffcb423a584528;
+ *((unsigned long *)&__m256i_result[0]) = 0x9bdf36c8d78158a1;
+ __m256i_out = __lasx_xvmulwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80000000ff800000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80000000ff800000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x800000007fff0001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x80000000ff7f0001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x800000007fff0001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x80000000ff7f0001;
+ *((unsigned long *)&__m256i_result[3]) = 0xbfffffffffff8000;
+ *((unsigned long *)&__m256i_result[2]) = 0xbfff800080000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xbfffffffffff8000;
+ *((unsigned long *)&__m256i_result[0]) = 0xbfff800080000000;
+ __m256i_out = __lasx_xvmulwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffe00000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffe00000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000007f8;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000002de;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000007f8;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000002de;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000007f7;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffff808;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000007f7;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffff808;
+ __m256i_out = __lasx_xvmulwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf5fffc00fc000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf5fffc00fc000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf5fffc00fc000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf5fffc00fc000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmulwod_q_du_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 05/22] LoongArch: Add tests for ASX vector xvmax/xvmaxi/xvmin/xvmini instructions.
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
` (3 preceding siblings ...)
2023-09-13 3:38 ` [PATCH v4 04/22] LoongArch: Add tests for ASX vector xvmul/xvmod/xvdiv instructions Xiaolong Chen
@ 2023-09-13 3:38 ` Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 06/22] LoongArch: Add tests for ASX vector xvldi/xvmskgez/xvmskltz/xvmsknz/xvmuh /xvsigncov instructions Xiaolong Chen
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Xiaolong Chen @ 2023-09-13 3:38 UTC (permalink / raw)
To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c: New test.
---
.../loongarch/vector/lasx/lasx-xvmax-1.c | 545 ++++++++++++++
.../loongarch/vector/lasx/lasx-xvmax-2.c | 560 +++++++++++++++
.../loongarch/vector/lasx/lasx-xvmaxi-1.c | 471 ++++++++++++
.../loongarch/vector/lasx/lasx-xvmaxi-2.c | 504 +++++++++++++
.../loongarch/vector/lasx/lasx-xvmin-1.c | 575 +++++++++++++++
.../loongarch/vector/lasx/lasx-xvmin-2.c | 680 ++++++++++++++++++
.../loongarch/vector/lasx/lasx-xvmini-1.c | 416 +++++++++++
.../loongarch/vector/lasx/lasx-xvmini-2.c | 284 ++++++++
8 files changed, 4035 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c
new file mode 100644
index 00000000000..96c6671f247
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c
@@ -0,0 +1,545 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7f0000007f000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7f0000007f000000;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffff000000;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7f00000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff000000000000;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0004000400040004;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0004000400040004;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x5900000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x5900000000000000;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ffce20;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ffce20;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ee1100;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000004560408;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000ee1100;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000004560408;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff1100;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000004560420;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff1100;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000004560420;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000001ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000001ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000001ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000001ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000000;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000007f433c78;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007f433c78;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007f433c78;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000007f433c78;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff01ff01ff01ff01;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffce;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffce;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7ff0000000000000;
+ __m256i_out = __lasx_xvmax_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00ff00ff;
+ __m256i_out = __lasx_xvmax_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x4000000000000000;
+ __m256i_out = __lasx_xvmax_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff800080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff800080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000400010004;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000400010004;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000e0001000e;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000e0001000e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000e0001000e;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000e0001000e;
+ __m256i_out = __lasx_xvmax_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0080000000000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0080000000000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0080000000000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0080000000000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1090918800000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1090918800000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1c80780000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000004000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1c80780000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000004000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1c80780000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000004000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1c80780000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000004000;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9ff87ef07f7f817f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000007f7f817f;
+ *((unsigned long *)&__m256i_result[2]) = 0x7f807f007f7f817f;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000007f7f817f;
+ *((unsigned long *)&__m256i_result[0]) = 0x7f807f007f7f817f;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffebeeaaefafb;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffebeeaaeeeeb;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffebeeaaefafb;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffebeeaaeeeeb;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_op0[2]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_op0[1]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_op0[0]) = 0xebebebebebebebeb;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ff00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ff00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff00;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000038ea4d4a;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff00007fff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000038ea4d4a;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff00007fff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000038ea4d4a;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff00007fff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000038ea4d4a;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff00007fff0000;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmax_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffbfffc;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001000000010;
+ __m256i_out = __lasx_xvmax_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_op1[2]) = 0x556caad9aabbaa88;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_op1[0]) = 0x556caad9aabbaa88;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_result[2]) = 0x556caad9aabbaa88;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000004a557baac4;
+ *((unsigned long *)&__m256i_result[0]) = 0x556caad9aabbaa88;
+ __m256i_out = __lasx_xvmax_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000020006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000020006;
+ __m256i_out = __lasx_xvmax_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff0000000f;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff0000000d;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff0000000f;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff0000000d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffe97c020010001;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffeb6839ffffd80;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffe97c020010001;
+ __m256i_out = __lasx_xvmax_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c
new file mode 100644
index 00000000000..38f2c0afec0
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c
@@ -0,0 +1,560 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffdfffffffdfffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffdfffffffdfffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffee0000ff4c;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ff050000ff3c;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000fff90000ff78;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffa80000ff31;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_result[2]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_result[0]) = 0x817f11ed81800ff0;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003fe000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003fe000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003fe000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003fe000000000;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[2]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[0]) = 0x800000ff800000ff;
+ __m256i_out = __lasx_xvmax_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+ __m256i_out = __lasx_xvmax_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1010100f10100fd4;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1010100f10100fd4;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffeeffaf;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000011;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffeeffaf;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000011;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffffffeeffaf;
+ *((unsigned long *)&__m256i_result[2]) = 0x1010100f10100fd4;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffffffeeffaf;
+ *((unsigned long *)&__m256i_result[0]) = 0x1010100f10100fd4;
+ __m256i_out = __lasx_xvmax_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf0f0f0f0f0f0f0f0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf0f0f0f0f0f0f0f0;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_result[2]) = 0xf0f0f0f0f0f0f0f0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_result[0]) = 0xf0f0f0f0f0f0f0f0;
+ __m256i_out = __lasx_xvmax_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc600000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc600000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_result[2]) = 0xc600000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xc03ae000ffff6000;
+ *((unsigned long *)&__m256i_result[0]) = 0xc600000000000000;
+ __m256i_out = __lasx_xvmax_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvmax_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffd8ffc7ffdaff8a;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffd8ffc7ffdaff8a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000d0d8ffffeecf;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000383fffffdf0d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000d0d8ffffeecf;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000383fffffdf0d;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffd8ffc7ffffdf0d;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffd8ffc7ffffdf0d;
+ __m256i_out = __lasx_xvmax_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000003f8000004;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000003f8000004;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000003f8000004;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000003f8000004;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000014402080144;
+ __m256i_out = __lasx_xvmax_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007f433c78;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007f433c78;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000a0008;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000a0008;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000007f433c78;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000007f433c78;
+ __m256i_out = __lasx_xvmax_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffff97a2;
+ __m256i_out = __lasx_xvmax_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000070002000a;
+ __m256i_out = __lasx_xvmax_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000004fb;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000004fb;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000004fb;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000e7;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000080000000800;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffcf800fffcf800;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000080000000800;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000080000000800;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffcf800fffcf800;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00000007;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000080000000800;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000005e02;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000005e02;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000002a5429;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000002a5429;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffc7418a023680;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffff8845bb954b00;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffc7418a023680;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000002a5429;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff8845bb954b00;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000002a5429;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003f800000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000003f800000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000040404040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000040404040;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000040404040;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000040404040;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000001400;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000003c01ff9;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000003c01ff9;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffff08a7de0;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffff07c4170;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffff08a7de0;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffff07c4170;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffff08a7de0;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffff07c4170;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffff08a7de0;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffff07c4170;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmax_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c
new file mode 100644
index 00000000000..e804a0a45ec
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c
@@ -0,0 +1,471 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffd10000006459;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000441000000004;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000040400000104;
+ *((unsigned long *)&__m256i_result[3]) = 0x0f0f0f0f0f0f6459;
+ *((unsigned long *)&__m256i_result[2]) = 0x0f0f44100f0f0f0f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0f0f0f0f0f0f0f0f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0f0f0f0f0f0f0f0f;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, 15);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8080808180808093;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80808081808080fe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8080808180808093;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80808081808080fb;
+ *((unsigned long *)&__m256i_result[3]) = 0xf5f5f5f5f5f5f5f5;
+ *((unsigned long *)&__m256i_result[2]) = 0xf5f5f5f5f5f5f5fe;
+ *((unsigned long *)&__m256i_result[1]) = 0xf5f5f5f5f5f5f5f5;
+ *((unsigned long *)&__m256i_result[0]) = 0xf5f5f5f5f5f5f5fb;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, -11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_result[2]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_result[1]) = 0x0909090909090909;
+ *((unsigned long *)&__m256i_result[0]) = 0x0909090909090909;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, 9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, -4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0d0d0d0d0d0d0d0d;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, 13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_result[2]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_result[0]) = 0x0a0a0a0a7f0a0a0a;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, 10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0707070707070707;
+ *((unsigned long *)&__m256i_result[2]) = 0x0707070707070707;
+ *((unsigned long *)&__m256i_result[1]) = 0x0707070707070707;
+ *((unsigned long *)&__m256i_result[0]) = 0x0707070707070707;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, 7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0d0d0d0d0d0d0d0d;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, 13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_result[3]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_result[2]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_result[1]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_result[0]) = 0x2a2a2a2a2a2a2a2a;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, -14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, 0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0c0c0c0c0c0c0c0c;
+ *((unsigned long *)&__m256i_result[2]) = 0x0c0c0c0c0c0c0c0c;
+ *((unsigned long *)&__m256i_result[1]) = 0x0c0c0c0c0c0c0c0c;
+ *((unsigned long *)&__m256i_result[0]) = 0x0c0c0c0c0c0c0c0c;
+ __m256i_out = __lasx_xvmaxi_b (__m256i_op0, 12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[2]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[1]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[0]) = 0x0005000500050005;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, 5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, -11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffc0ffc0ffc0ffc0;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffc00000ffc0ffc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffc0ffc0ffc0ffc0;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffc00000ffc0ffc0;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff90000fff9fff9;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff90000fff9fff9;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, -7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, -13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff000c0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00040000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff000c0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00040000;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, -2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000001ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffe0000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000001ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffe0000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00080008000801ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0008000800080008;
+ *((unsigned long *)&__m256i_result[1]) = 0x00080008000801ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0008000800080008;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, 8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, 0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000c9;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000c9;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000c9;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000c9;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, -15);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff8000ffa3;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000008000165a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff8000ffa3;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000008000165a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0009000900090009;
+ *((unsigned long *)&__m256i_result[2]) = 0x000900090009165a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0009000900090009;
+ *((unsigned long *)&__m256i_result[0]) = 0x000900090009165a;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, 9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, 0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfd12fd12fd12fd12;
+ *((unsigned long *)&__m256i_result[3]) = 0x000a000a000a000a;
+ *((unsigned long *)&__m256i_result[2]) = 0x000a000a000a000a;
+ *((unsigned long *)&__m256i_result[1]) = 0x000a000a000a000a;
+ *((unsigned long *)&__m256i_result[0]) = 0x000a000a000a000a;
+ __m256i_out = __lasx_xvmaxi_h (__m256i_op0, 10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000401000000;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, 4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, -16);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0110000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0110000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0110000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0110000000000080;
+ *((unsigned long *)&__m256i_result[3]) = 0x0110000000000004;
+ *((unsigned long *)&__m256i_result[2]) = 0x0110000000000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0110000000000004;
+ *((unsigned long *)&__m256i_result[0]) = 0x0110000000000080;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, 4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, -11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000200000002;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, 2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000e0000000e;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, 14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff040000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff040000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff400000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffff400000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, -12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000900000009;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, 9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000081f20607a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000800000008;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000081f20607a;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, 8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvmaxi_w (__m256i_op0, -2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvmaxi_d (__m256i_op0, -16);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000009;
+ __m256i_out = __lasx_xvmaxi_d (__m256i_op0, 9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaxi_d (__m256i_op0, -2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff1100;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000004560420;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff1100;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000004560420;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000ff1100;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000004560420;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000ff1100;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000004560420;
+ __m256i_out = __lasx_xvmaxi_d (__m256i_op0, -14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmaxi_d (__m256i_op0, -1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007e1c7e1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7e00000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007e1c7e1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7e00000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000007e1c7e1c;
+ *((unsigned long *)&__m256i_result[2]) = 0x7e00000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000007e1c7e1c;
+ *((unsigned long *)&__m256i_result[0]) = 0x7e00000000000000;
+ __m256i_out = __lasx_xvmaxi_d (__m256i_op0, -9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff5;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff5;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffff5;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff5;
+ __m256i_out = __lasx_xvmaxi_d (__m256i_op0, -11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+ __m256i_out = __lasx_xvmaxi_d (__m256i_op0, 7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000007b007e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000007b007e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000007b007e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000007b007e;
+ __m256i_out = __lasx_xvmaxi_d (__m256i_op0, 2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c
new file mode 100644
index 00000000000..b6b34063cd9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c
@@ -0,0 +1,504 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaxi_bu (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000102;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0a0a0a0a0a0a0a0a;
+ *((unsigned long *)&__m256i_result[2]) = 0x0a0a0a0a0a0a0a0a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0a0a0a0a0a0a0a0a;
+ *((unsigned long *)&__m256i_result[0]) = 0x0a0a0a0a0a0a0a0a;
+ __m256i_out = __lasx_xvmaxi_bu (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1717171717171717;
+ *((unsigned long *)&__m256i_result[2]) = 0x1717171717171717;
+ *((unsigned long *)&__m256i_result[1]) = 0x1717171717171717;
+ *((unsigned long *)&__m256i_result[0]) = 0x1717171717171717;
+ __m256i_out = __lasx_xvmaxi_bu (__m256i_op0, 0x17);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ffe00007f000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x1616161616161616;
+ *((unsigned long *)&__m256i_result[2]) = 0x161616167fffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7ffe16167f161616;
+ *((unsigned long *)&__m256i_result[0]) = 0x161616167fffffff;
+ __m256i_out = __lasx_xvmaxi_bu (__m256i_op0, 0x16);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000feb60000b7d0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000feb60000c7eb;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000feb60000b7d0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000feb60000c7eb;
+ *((unsigned long *)&__m256i_result[3]) = 0x0707feb60707b7d0;
+ *((unsigned long *)&__m256i_result[2]) = 0x0707feb60707c7eb;
+ *((unsigned long *)&__m256i_result[1]) = 0x0707feb60707b7d0;
+ *((unsigned long *)&__m256i_result[0]) = 0x0707feb60707c7eb;
+ __m256i_out = __lasx_xvmaxi_bu (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1111111111111111;
+ *((unsigned long *)&__m256i_result[2]) = 0x1111111111111111;
+ *((unsigned long *)&__m256i_result[1]) = 0x1111111111111111;
+ *((unsigned long *)&__m256i_result[0]) = 0x1111111111111111;
+ __m256i_out = __lasx_xvmaxi_bu (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvmaxi_bu (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffa3;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000165a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffa3;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000165a;
+ *((unsigned long *)&__m256i_result[3]) = 0x1818ffff1818ffa3;
+ *((unsigned long *)&__m256i_result[2]) = 0x181818181818185a;
+ *((unsigned long *)&__m256i_result[1]) = 0x1818ffff1818ffa3;
+ *((unsigned long *)&__m256i_result[0]) = 0x181818181818185a;
+ __m256i_out = __lasx_xvmaxi_bu (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_result[2]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_result[1]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_result[0]) = 0x1c1c1c1c1c1c1c1c;
+ __m256i_out = __lasx_xvmaxi_bu (__m256i_op0, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaxi_hu (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xeffc000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf064c6098d214127;
+ *((unsigned long *)&__m256i_op0[1]) = 0xeffc000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf064c6098d214127;
+ *((unsigned long *)&__m256i_result[3]) = 0xeffc001800180018;
+ *((unsigned long *)&__m256i_result[2]) = 0xf064c6098d214127;
+ *((unsigned long *)&__m256i_result[1]) = 0xeffc001800180018;
+ *((unsigned long *)&__m256i_result[0]) = 0xf064c6098d214127;
+ __m256i_out = __lasx_xvmaxi_hu (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010003;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010003;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvmaxi_hu (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0007000700070007;
+ *((unsigned long *)&__m256i_result[2]) = 0x0007000700070007;
+ *((unsigned long *)&__m256i_result[1]) = 0x0007000700070007;
+ *((unsigned long *)&__m256i_result[0]) = 0x0007000700070007;
+ __m256i_out = __lasx_xvmaxi_hu (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0018001800180018;
+ *((unsigned long *)&__m256i_result[2]) = 0x0018001800180018;
+ *((unsigned long *)&__m256i_result[1]) = 0x0018001800180018;
+ *((unsigned long *)&__m256i_result[0]) = 0x0018001800180018;
+ __m256i_out = __lasx_xvmaxi_hu (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0017001700176d6d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0017001700176d6d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0017001700176d6d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0017001700176d6d;
+ __m256i_out = __lasx_xvmaxi_hu (__m256i_op0, 0x17);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x001fffffffe00000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x001fffffffe00000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x001fffffffe00011;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x001fffffffe00011;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+ __m256i_out = __lasx_xvmaxi_hu (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001400000014;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001400000014;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001400000014;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001400000014;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0x14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000e00000080;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000e00000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000e00000080;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000e00000080;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000fd0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000fd0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001b0000001b;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001b00fd0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001b0000001b;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001b00fd0000;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0x1b);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007aff7c00;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffd017d00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007aff7c00;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffd017d00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000c7aff7c00;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffd017d00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000c7aff7c00;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffd017d00;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001f0000001f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001f0000ffff;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0x1f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000300000003;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000300000003;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000300000003;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000300000003;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1010101010001000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1010101000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x1010101010001000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x101010100000000e;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000007ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000007ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000007ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000007ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001e0007ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001e0007ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001e0007ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001e0007ffff;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0x1e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000fd;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000400000004;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000004000000fd;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000004000000fe;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000400000004;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000001f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000001f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000001f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000001f;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000010;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000010;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001700000017;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001700000017;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001700000017;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001700000017;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0x17);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x07fed3c8f7ad28d0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x07fed3c8f7ad28d0;
+ *((unsigned long *)&__m256i_result[3]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_result[2]) = 0x07fed3c8f7ad28d0;
+ *((unsigned long *)&__m256i_result[1]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_result[0]) = 0x07fed3c8f7ad28d0;
+ __m256i_out = __lasx_xvmaxi_wu (__m256i_op0, 0x10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000001e;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000001e;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x1e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[3]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[2]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[1]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[0]) = 0x1c1b1a191c1b1a19;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000003f;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000001c;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000001c;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000001c;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000001c;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000005;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000600000006;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x17);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffffe;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000012;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000012;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x19);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000000b;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000000b;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000000b;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000000b;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000013;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000014;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000014;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000014;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000014;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000014;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000014;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000014;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000014;
+ __m256i_out = __lasx_xvmaxi_du (__m256i_op0, 0x14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c
new file mode 100644
index 00000000000..7dbf335c14d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c
@@ -0,0 +1,575 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff00000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8001000080000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000800080000728;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8001800080008000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x800080008000b8f1;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000ffff8000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff80008000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[0]) = 0x800080008000b8f1;
+ __m256i_out = __lasx_xvmin_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvmin_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmin_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000180007fe8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000180007fe8;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000180007fe8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000180007fe8;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000180007fe8;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000017bfffff0;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000180007fe8;
+ __m256i_out = __lasx_xvmin_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0xc848c848c848c848;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8848c848c848c848;
+ *((unsigned long *)&__m256i_op1[1]) = 0xc848c848c848c848;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8848c848c848c848;
+ *((unsigned long *)&__m256i_result[3]) = 0xc800c800c800c800;
+ *((unsigned long *)&__m256i_result[2]) = 0x8800c800c800c801;
+ *((unsigned long *)&__m256i_result[1]) = 0xc800c800c800c800;
+ *((unsigned long *)&__m256i_result[0]) = 0x8800c800c800c801;
+ __m256i_out = __lasx_xvmin_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7070545438381c1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7070545438381c1c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7070545438381c1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7070545438381c1c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff00ffff8000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff00ffff8000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffff00ffff8000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffff00ffff8000;
+ __m256i_out = __lasx_xvmin_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x003ff18080010201;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0100000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x003ff18080010201;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0100000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000f18080010000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000f18080010000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000d24;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000fffe;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000fffe;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000fffe;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000fffe;
+ __m256i_out = __lasx_xvmin_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff81ff7d;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff81ff7d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffff81ff7d;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffff81ff7d;
+ __m256i_out = __lasx_xvmin_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmin_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000017f7f7f7f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000017f7f7f7f;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmin_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000004040104;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffd1108199;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000714910f9;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffd10000006459;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000441000000004;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000040400000104;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffd10000000004;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000004;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffd1108199;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000104;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00010003;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0080000200000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00010003;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0100;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000fd00ffff02ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000001fffeff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff00fe00feff02ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff02ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0100;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00fe00feff02ff;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000f0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000f0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x01ff0020ff1f001f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fe1ffe0ffe1ffe0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x01ff0020ff1f001f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fe1ffe0ffe1ffe0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ff1f001f;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffe1ffe0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ff1f001f;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffe1ffe0;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf000f00000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf000f00000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xf000f00000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xf000f00000000001;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff0102;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007c000000810081;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff0102;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007c000000810081;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff0000ffff;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4545454545454545;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4545454545454545;
+ *((unsigned long *)&__m256i_op0[1]) = 0x4545454545454545;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4545454545454545;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffff0001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffff0001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffbfffffffb;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffbfffffffb;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffbfffffffb;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffbfffffffb;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffbfffffffb;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffbfffffffb;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffbfffffffb;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffbfffffffb;
+ __m256i_out = __lasx_xvmin_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c
new file mode 100644
index 00000000000..9eaa0e9e769
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c
@@ -0,0 +1,680 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f017f807f017d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f017f807f017f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000017f0000017d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000017f0000017f;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7f70000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000fffff800;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffff800;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000002080100;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000002080100;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff0000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff0000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000001de2dc20;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000001de2dc20;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000010100;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000001000100;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffbf7f7fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffe651bfff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000010100;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000001000100;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ff80;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000468600007f79;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000f3280000dfff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1d1d1d1d1d1d1d1d;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1d1d1d1ddd9d9d1d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1d1d1d1d1d1d1d1d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1d1d1d1d046fdd1d;
+ *((unsigned long *)&__m256i_result[3]) = 0x00001d1d00001d1d;
+ *((unsigned long *)&__m256i_result[2]) = 0x00001d1d00007f79;
+ *((unsigned long *)&__m256i_result[1]) = 0x00001d1d00001d1d;
+ *((unsigned long *)&__m256i_result[0]) = 0x00001d1d0000dd1d;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0002000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0002000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0106010601060106;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0106010601060106;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0106010601060106;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0106010601060106;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00011ffb0000bee1;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00011ffb0000bee1;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001010600000106;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001010600000106;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffd5d5ffffd5d6;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffd5d5ffffd5d6;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8b1414140e0e0e0e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x36722a7e66972cd6;
+ *((unsigned long *)&__m256i_op1[3]) = 0xc58a0a0a07070706;
+ *((unsigned long *)&__m256i_op1[2]) = 0x006b60e4180b0023;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1b39153f334b966a;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf1d75d79efcac002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x006b60e40e0e0e0e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x36722a7e66972cd6;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000101ff01;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010001;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff000c0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00040000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff000c0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00040000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff000c0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00040000;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00010e0d00009e0e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00009000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000e0e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00009000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000033;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000033;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000033;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000033;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffe36780;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffe36780;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x80008000fff98000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x80008000fff98000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00f0000000f00010;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff0ff00fff0ff10;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00f0000000f00010;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff0ff00fff0ff10;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000400000003ffb;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000400100004001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000400000003ffb;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000400100004001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000400000003ffb;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000400100004001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000400000003ffb;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000400100004001;
+ __m256i_out = __lasx_xvmin_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x60f02081c1c4ce2c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8008000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x60f02081c1c4ce2c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8008000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010183f9999b;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x01010101d58f43c9;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010183f9999b;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x01010101d58f43c9;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff00ff00ee;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00ff00ee;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x007f00ff007f00ff;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000007f7f7f7f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000007f7f7f7f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000001fffe;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000202;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmin_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c
new file mode 100644
index 00000000000..01aabada810
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c
@@ -0,0 +1,416 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf96d674800000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x44a4330e2c7116c0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x14187a7822b653c0;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfbe0b866962b96d0;
+ *((unsigned long *)&__m256i_result[3]) = 0xf90c0c0c00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0ca40c0c0c0c0cc0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0c0c0c0c0cb60cc0;
+ *((unsigned long *)&__m256i_result[0]) = 0xfbe0b80c960c96d0;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, 12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0010bfc80010bf52;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff1bfca0011bfcb;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0010bfc80010bf52;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff1bfca0011bfcb;
+ *((unsigned long *)&__m256i_result[3]) = 0xf5f5bfc8f5f5bff5;
+ *((unsigned long *)&__m256i_result[2]) = 0xf5f1bfcaf5f5bfcb;
+ *((unsigned long *)&__m256i_result[1]) = 0xf5f5bfc8f5f5bff5;
+ *((unsigned long *)&__m256i_result[0]) = 0xf5f1bfcaf5f5bfcb;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, -11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf8f8f8f8f8f8f8f8;
+ *((unsigned long *)&__m256i_result[2]) = 0xf8f8f8f8f8f8f8f8;
+ *((unsigned long *)&__m256i_result[1]) = 0xf8f8f8f8f8f8f8f8;
+ *((unsigned long *)&__m256i_result[0]) = 0xf8f8f8f8f8f8f8f8;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, -8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000aaabffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000aaabffff;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, 11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff47b4ffff5878;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000b84b0000a787;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff47b4ffff5878;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000b84b0000a787;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff07b4ffff0707;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000b8070000a787;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff07b4ffff0707;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000b8070000a787;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, 7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[0]) = 0xf7f7f7f7f7f7f7f7;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, -9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, 5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, 14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf3f3f3f3f3f3f3f3;
+ *((unsigned long *)&__m256i_result[2]) = 0xf3f3f3f3f3f3f3f3;
+ *((unsigned long *)&__m256i_result[1]) = 0xf3f3f3f3f3f3f3f3;
+ *((unsigned long *)&__m256i_result[0]) = 0xf3f3f3f3f3f3f3f3;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, -13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_result[2]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_result[1]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_result[0]) = 0xf9f9f9f9f9f9f9f9;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, -7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc30e0000ff800000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc30e0000ff800000;
+ *((unsigned long *)&__m256i_result[3]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_result[2]) = 0xc3030000ff800000;
+ *((unsigned long *)&__m256i_result[1]) = 0xff800000ff800000;
+ *((unsigned long *)&__m256i_result[0]) = 0xc3030000ff800000;
+ __m256i_out = __lasx_xvmini_b (__m256i_op0, 3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff6fff6fff6fff6;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff6fff6fff6fff6;
+ __m256i_out = __lasx_xvmini_h (__m256i_op0, -10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1fffffff1fffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0383634303836343;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1fffffff1fffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0383634303836343;
+ *((unsigned long *)&__m256i_result[3]) = 0x0002ffff0002ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0002ffff0002ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0002000200020002;
+ __m256i_out = __lasx_xvmini_h (__m256i_op0, 2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000f7bc0001f7bd;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000f93b0000017c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000f7bc0001f7bd;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000f93b0000017b;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff2f7bcfff2f7bd;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff2f93bfff2fff2;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff2f7bcfff2f7bd;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff2f93bfff2fff2;
+ __m256i_out = __lasx_xvmini_h (__m256i_op0, -14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmini_h (__m256i_op0, 6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_h (__m256i_op0, 13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff9fff9fff9fff9;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff9fff9fff9fff9;
+ __m256i_out = __lasx_xvmini_h (__m256i_op0, -7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff3fff3fff3fff3;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff3fff3fff3fff3;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff3fff3fff3fff3;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff3fff3fff3fff3;
+ __m256i_out = __lasx_xvmini_h (__m256i_op0, -13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff2fff2fff2fff2;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff2fff2fff2fff2;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff2fff2fff2fff2;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff2fff2fff2fff2;
+ __m256i_out = __lasx_xvmini_h (__m256i_op0, -14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_h (__m256i_op0, 11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op0[2]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op0[1]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_op0[0]) = 0x555555ab555555ab;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000400000004;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000400000004;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000400000004;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000400000004;
+ __m256i_out = __lasx_xvmini_w (__m256i_op0, 4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff8c80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fff0e400;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff8c80;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fff0e400;
+ __m256i_out = __lasx_xvmini_w (__m256i_op0, 12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000100000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff2fffffff2;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff2fffffff2;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffff2fffffff2;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff2fffffff2;
+ __m256i_out = __lasx_xvmini_w (__m256i_op0, -14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000a00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000a00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000010000000a;
+ __m256i_out = __lasx_xvmini_w (__m256i_op0, 10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff8fffffff8;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff8fffffff8;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffff8fffffff8;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff8fffffff8;
+ __m256i_out = __lasx_xvmini_w (__m256i_op0, -8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff7fffffff7;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff7fffffff7;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffff7fffffff7;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff7fffffff7;
+ __m256i_out = __lasx_xvmini_w (__m256i_op0, -9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmini_w (__m256i_op0, 4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffff0fffffff0;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffff0fffffff0;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffff0fffffff0;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffff0fffffff0;
+ __m256i_out = __lasx_xvmini_w (__m256i_op0, -16);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmini_w (__m256i_op0, -1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_d (__m256i_op0, 11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x327f010101010102;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x327f010101010102;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff4;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffff4;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffff4;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffff4;
+ __m256i_out = __lasx_xvmini_d (__m256i_op0, -12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000900000009;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000009;
+ __m256i_out = __lasx_xvmini_d (__m256i_op0, 9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_d (__m256i_op0, 13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmini_d (__m256i_op0, -1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ff007f007f00;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ff007f007f00;
+ *((unsigned long *)&__m256i_result[3]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00ff007f007f00;
+ *((unsigned long *)&__m256i_result[1]) = 0xff00ff00ff00ff00;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00ff007f007f00;
+ __m256i_out = __lasx_xvmini_d (__m256i_op0, -5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000000c;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000000c;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_d (__m256i_op0, 12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c
new file mode 100644
index 00000000000..8eb7d93558b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c
@@ -0,0 +1,284 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_op0[1]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_result[3]) = 0x0d0d0d0d00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0d0d0d0d00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0d0d0d0d0d0d0d0d;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x1b1b1b1b1b1b1b1b;
+ *((unsigned long *)&__m256i_result[2]) = 0x1b1b1b1b1b1b1b1b;
+ *((unsigned long *)&__m256i_result[1]) = 0x1b1b1b1b1b1b1b1b;
+ *((unsigned long *)&__m256i_result[0]) = 0x1b1b1b1b1b1b1b1b;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0x1b);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000009;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1e1e1e0000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1e1e1e0000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1e1e1e0000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1e1e1e0000000000;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0x1e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x6018000000000cd1;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6040190d00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x6018000000000cd1;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6040190d00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0a0a000000000a0a;
+ *((unsigned long *)&__m256i_result[2]) = 0x0a0a0a0a00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0a0a000000000a0a;
+ *((unsigned long *)&__m256i_result[0]) = 0x0a0a0a0a00000000;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0008001c0010001c;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0008001c0010001c;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_bu (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_hu (__m256i_op0, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0007000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0007000000000000;
+ __m256i_out = __lasx_xvmini_hu (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000002222;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003ddd80007bbb;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000002222;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003ddd80007bbb;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001700170017;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000017;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001700170017;
+ __m256i_out = __lasx_xvmini_hu (__m256i_op0, 0x17);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_hu (__m256i_op0, 0x1e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_hu (__m256i_op0, 0x14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1c1b1a191c1b1a19;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmini_du (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_du (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_du (__m256i_op0, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_du (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_du (__m256i_op0, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffe400000707;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000af100001455;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffe400000707;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000af100001455;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvmini_du (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_du (__m256i_op0, 0x15);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff61010380;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff61010380;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000006;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000006;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000006;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000006;
+ __m256i_out = __lasx_xvmini_du (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmini_du (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 06/22] LoongArch: Add tests for ASX vector xvldi/xvmskgez/xvmskltz/xvmsknz/xvmuh /xvsigncov instructions.
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
` (4 preceding siblings ...)
2023-09-13 3:38 ` [PATCH v4 05/22] LoongArch: Add tests for ASX vector xvmax/xvmaxi/xvmin/xvmini instructions Xiaolong Chen
@ 2023-09-13 3:38 ` Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 07/22] LoongArch: Add tests for ASX vector xvand/xvandi/xvandn/xvor/xvori/ xvnor/xvnori/xvxor/xvxori instructions Xiaolong Chen
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Xiaolong Chen @ 2023-09-13 3:38 UTC (permalink / raw)
To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/vector/lasx/lasx-xvldi.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c: New test.
---
.../loongarch/vector/lasx/lasx-xvldi.c | 83 +++
.../loongarch/vector/lasx/lasx-xvmskgez.c | 86 +++
.../loongarch/vector/lasx/lasx-xvmskltz.c | 373 ++++++++++
.../loongarch/vector/lasx/lasx-xvmsknz.c | 163 +++++
.../loongarch/vector/lasx/lasx-xvmuh-1.c | 650 +++++++++++++++++
.../loongarch/vector/lasx/lasx-xvmuh-2.c | 635 +++++++++++++++++
.../loongarch/vector/lasx/lasx-xvsigncov.c | 665 ++++++++++++++++++
7 files changed, 2655 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldi.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldi.c
new file mode 100644
index 00000000000..84b3c659992
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldi.c
@@ -0,0 +1,83 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001000000010;
+ __m256i_out = __lasx_xvldi (-4080);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_result[3]) = 0xfebcfebcfebcfebc;
+ *((unsigned long *)&__m256i_result[2]) = 0xfebcfebcfebcfebc;
+ *((unsigned long *)&__m256i_result[1]) = 0xfebcfebcfebcfebc;
+ *((unsigned long *)&__m256i_result[0]) = 0xfebcfebcfebcfebc;
+ __m256i_out = __lasx_xvldi (1724);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_result[3]) = 0x3fd1000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x3fd1000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x3fd1000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x3fd1000000000000;
+ __m256i_out = __lasx_xvldi (-943);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_result[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[0]) = 0xff1cff1cff1cff1c;
+ __m256i_out = __lasx_xvldi (1820);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_result[3]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7200000072000000;
+ __m256i_out = __lasx_xvldi (-3214);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_result[3]) = 0xffffff1dffffff1d;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffff1dffffff1d;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffff1dffffff1d;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffff1dffffff1d;
+ __m256i_out = __lasx_xvldi (2845);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001000000010;
+ __m256i_out = __lasx_xvldi (-4080);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_result[3]) = 0x3fd1000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x3fd1000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x3fd1000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x3fd1000000000000;
+ __m256i_out = __lasx_xvldi (-943);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_result[3]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7200000072000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7200000072000000;
+ __m256i_out = __lasx_xvldi (-3214);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c
new file mode 100644
index 00000000000..15e66ae3800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c
@@ -0,0 +1,86 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff00;
+ __m256i_out = __lasx_xvmskgez_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvmskgez_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskgez_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskgez_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001ff03ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000203ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001ff03ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000203ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000fafe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000fafe;
+ __m256i_out = __lasx_xvmskgez_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000010100000101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000010100000101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvmskgez_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c
new file mode 100644
index 00000000000..53b21f98be1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c
@@ -0,0 +1,373 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000007;
+ __m256i_out = __lasx_xvmskltz_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3922d40000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000c85221c0;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf7ebfab800000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000f20;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000009f0;
+ __m256i_out = __lasx_xvmskltz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x40d74f979f99419f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000022;
+ __m256i_out = __lasx_xvmskltz_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010100000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010100000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+ __m256i_out = __lasx_xvmskltz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1f9d9f9d1f9db29f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1f9d9f9d201cb39e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x201c9f9d201cb29f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1f9d9f9d201cb39e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000007773;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000003373;
+ __m256i_out = __lasx_xvmskltz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc080ffff0049ffd2;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0049ffd2;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000fffeffb9ff9d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00630064004bffd0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xe0f02081c1c4ce2c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8008000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xe0f02081c1c4ce2c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8008000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000b8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000b8;
+ __m256i_out = __lasx_xvmskltz_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000003;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000001fffc0001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000022;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000022;
+ __m256i_out = __lasx_xvmskltz_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010200000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010200000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0a0a0a0a7f0a0a0a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvmskltz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000088;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000088;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x296e000018170000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x296e000018170000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000404;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000404;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffc000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffeff000c057c;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffc000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffeff000c057c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000f0f0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000f0f0;
+ __m256i_out = __lasx_xvmskltz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffb2f600006f48;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffb2f600006f48;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000008c;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000008c;
+ __m256i_out = __lasx_xvmskltz_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff801000000010;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff800300000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff801000000010;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff800300000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000cc;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000cc;
+ __m256i_out = __lasx_xvmskltz_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_d (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x5);
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_w (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000055;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000054;
+ __m256i_out = __lasx_xvmskltz_h (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmskltz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c
new file mode 100644
index 00000000000..81865fd32bb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c
@@ -0,0 +1,163 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0020002000400040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0020002000400040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0020002000400040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0020002000400040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000005555;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000005555;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0002000000020000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000300000002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0002000000020000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000300000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000004411;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000004411;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003f3f00004040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003f3f00004040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000033;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000033;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000008050501;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0100000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000f91;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000f91;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000001f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000001f;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x006018000000001a;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0060401900000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x006018000000001a;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0060401900000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000006170;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000006170;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf2b180c9fc1fefdc;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf2b180c9fc1fefdc;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000002ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000002ff;
+ __m256i_out = __lasx_xvmsknz_b (__m256i_op0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c
new file mode 100644
index 00000000000..58ad8bfcd8d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c
@@ -0,0 +1,650 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000800;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000800;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000800;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000800;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff0fff0ff01ff01;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff0fff0fff0fff0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff0fff0ff01ff01;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff0fff0fff0fff0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000003ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000007ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000fdfcfda8;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000e2821d20ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000fdfcfda8;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000e2821d20ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffffffffff00;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ff8000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffffffffff00;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ff8000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x372e9d75e8aab100;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc5c085372cfabfba;
+ *((unsigned long *)&__m256i_op0[1]) = 0x31730b5beb7c99f5;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0658f2dc0eb21e3c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000019410000e69a;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf259905a0c126604;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000883a00000f20;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6d3c2d3aa1c82947;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000f647000007d6;
+ *((unsigned long *)&__m256i_result[2]) = 0x031b358c021ee663;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000faaf0000f9f8;
+ *((unsigned long *)&__m256i_result[0]) = 0x02b4fdadfa9704df;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf7ffffffffffff1f;
+ *((unsigned long *)&__m256i_op1[2]) = 0xbffffffffffffeff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf7ffffffffffff1f;
+ *((unsigned long *)&__m256i_op1[0]) = 0xbffffffffffffeff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffe05fc47b400;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffe06003fc000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffe05fc47b400;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffe06003fc000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000100040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff8900000040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff8900000040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000401000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000aaaa00008bfe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000aaaa0000aaaa;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000aaaa00008bfe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000aaaa0000aaaa;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff5556aaaa;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff5556aaaa;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff81ff7d;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff81ff7d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000001fff0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000feff0001ffb8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000001fff0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000feff0001ffb8;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffe000ffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffe000ffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffe000ffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffe000ffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xb70036db12c4007e;
+ *((unsigned long *)&__m256i_op1[2]) = 0xb7146213fc1e0049;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000fefe02fffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xb71c413b199d04b5;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000007fffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000036a37;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000007fffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000004def9;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvmuh_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000fffe0001;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000fffe0001;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000fffe0001;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fffe0001;
+ __m256i_out = __lasx_xvmuh_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0202010202020102;
+ *((unsigned long *)&__m256i_result[3]) = 0x000408080c111414;
+ *((unsigned long *)&__m256i_result[2]) = 0x000408080c111414;
+ *((unsigned long *)&__m256i_result[1]) = 0x000408080c111414;
+ *((unsigned long *)&__m256i_result[0]) = 0x000408080c111414;
+ __m256i_out = __lasx_xvmuh_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c
new file mode 100644
index 00000000000..85d24fe44c2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c
@@ -0,0 +1,635 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff0000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff0000000000080;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffbdff3cffbdff44;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffbdff3cffbdff44;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffbdff3cffbdff44;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffbdff3cffbdff44;
+ *((unsigned long *)&__m256i_result[3]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfe8bfe0efe8bfe12;
+ *((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfe8bfe0efe8bfe12;
+ __m256i_out = __lasx_xvmuh_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000027;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000027;
+ __m256i_out = __lasx_xvmuh_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000080;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_bu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffefffe00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffefffefffefffd;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xd207e90001fb16ef;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc8eab25698f97e90;
+ *((unsigned long *)&__m256i_op0[1]) = 0xd207e90001fb16ef;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc8eab25698f97e90;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00020002ff820002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00020002ff820002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x40efffe09fa88260;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6b07ca8e013fbf01;
+ *((unsigned long *)&__m256i_op0[1]) = 0x40efffe09fa7e358;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80ce32be3e827f00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x86ff76ffff4eff42;
+ *((unsigned long *)&__m256i_op1[2]) = 0x86ffffffffff9eff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x86ff76ffff4effff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x86ff32ffaeffffa0;
+ *((unsigned long *)&__m256i_result[3]) = 0x223d76f09f3881ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x3870ca8d013e76a0;
+ *((unsigned long *)&__m256i_result[1]) = 0x223d76f09f37e357;
+ *((unsigned long *)&__m256i_result[0]) = 0x43ec0a1b2aba7ed0;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00003f3f00003f3f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00003f3f00004040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00003f3f00003f3f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00003f3f00004040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffc020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffc020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000001400000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001400000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x5fa0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x5fa0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0c6a240000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0f00204000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0c6a240000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0f00204000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x04a3000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x04a3000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff8000fffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001fffe00017fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff8000fffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001fffe00017fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000007f00fe;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000fe0000007f;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000007f00fe;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000fe0000007f;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffe00000ffe00000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffe00000ffe00000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff88ff88ff880000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000fafe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000fafe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_hu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ff01ff01;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff01c000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ff01ff01;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000f1000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000001341c4000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001000310000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000033e87ef1;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000002e2100;
+ __m256i_out = __lasx_xvmuh_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000045f3fb;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000045f3fb;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_wu (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000154dc84;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000089;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00fe01f000010000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000c40086;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00fe01f000010000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000c40086;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xdbc8000000003fff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xdbc8000000003fff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7575ffff75757595;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7575ffff7575f575;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7575ffff75757595;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7575ffff7575f575;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff7fff7fff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x3aadec4f6c7975b1;
+ *((unsigned long *)&__m256i_result[2]) = 0x3abac5447fffca89;
+ *((unsigned long *)&__m256i_result[1]) = 0x3aadec4f6c7975b1;
+ *((unsigned long *)&__m256i_result[0]) = 0x3abac5447fffca89;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000003f;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x41dffbffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffff00ff800000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x41dffbffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffff00ff800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000100010;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000010000f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000010000f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvmuh_du (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c
new file mode 100644
index 00000000000..2a6eee0fd22
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c
@@ -0,0 +1,665 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x97541c5897541c58;
+ *((unsigned long *)&__m256i_op0[2]) = 0x97541c5897541c58;
+ *((unsigned long *)&__m256i_op0[1]) = 0x97541c5897541c58;
+ *((unsigned long *)&__m256i_op0[0]) = 0x97541c5897541c58;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff605a;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffff5f5c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff605a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101000000000000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff39ffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff39ffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0202020202020202;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0202810102020202;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0202020202020202;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0202810102020202;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000fefe0000fefe;
+ *((unsigned long *)&__m256i_result[2]) = 0x00007fff0000fefe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000fefe0000fefe;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007fff0000fefe;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000017547fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000017547fffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x807e80fd80fe80fd;
+ *((unsigned long *)&__m256i_op1[2]) = 0x80938013800d8002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x807e80fd80fe0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x80938013800d0005;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000801380f380fe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000801380f300fb;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffd5a98;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000101ff01;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0002000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0002000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffee;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff80ff00ff80ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff80ff00ff80ff01;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000000fd;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000000fd;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8011ffee804c004c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00faff0500c3ff3c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x80f900f980780078;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0057ffa800ceff31;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff000000010000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3880800037800000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3901000039010000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3880800037800000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3901000039010000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00003fc00000428a;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00003fc00000428a;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003fc00000428a;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003fc00000428a;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffefffefffeffee;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffe0000fffe0012;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffeffee;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffe0000fffe0012;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000001ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000001ffff;
+ __m256i_out = __lasx_xvsigncov_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80be0000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80be0000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000100000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000100000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffff00000000;
+ __m256i_out = __lasx_xvsigncov_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xdf80df80df80df80;
+ *((unsigned long *)&__m256i_op0[2]) = 0xdfc2df80df80df87;
+ *((unsigned long *)&__m256i_op0[1]) = 0xdf80df80df80df80;
+ *((unsigned long *)&__m256i_op0[0]) = 0xdfc2df80df80df87;
+ *((unsigned long *)&__m256i_op1[3]) = 0xdf80df80df80df80;
+ *((unsigned long *)&__m256i_op1[2]) = 0xdfc2df80df80df87;
+ *((unsigned long *)&__m256i_op1[1]) = 0xdf80df80df80df80;
+ *((unsigned long *)&__m256i_op1[0]) = 0xdfc2df80df80df87;
+ *((unsigned long *)&__m256i_result[3]) = 0x2080208020802080;
+ *((unsigned long *)&__m256i_result[2]) = 0x203e208020802079;
+ *((unsigned long *)&__m256i_result[1]) = 0x2080208020802080;
+ *((unsigned long *)&__m256i_result[0]) = 0x203e208020802079;
+ __m256i_out = __lasx_xvsigncov_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003f3f00004040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003f3f00004040;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffe05f8102;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffe05f8102;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000004e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000022beb03f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffa2beb040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000022beb03f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffa2beb040;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffba8300004fc2;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffba8300004fc2;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffba8300004fc2;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffba8300004fc2;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffba8300004fc2;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffba8300004fc2;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffba8300004fc2;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffba8300004fc2;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x004100df00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00c000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x004100df00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00c000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x41dfffffffc00000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc1d75053f0000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x41dfffffffc00000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc1d75053f0000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x41dfffffffc00000;
+ *((unsigned long *)&__m256i_result[2]) = 0xc1d75053f0000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x41dfffffffc00000;
+ *((unsigned long *)&__m256i_result[0]) = 0xc1d75053f0000000;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffa30000165a;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000104000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffa30000165a;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000104000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x41dfffffffc00000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xc1d75053f0000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x41dfffffffc00000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xc1d75053f0000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xbe21000100000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000505300000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xbe21000100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000505300000000;
+ __m256i_out = __lasx_xvsigncov_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000001880310877e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000001880310877e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000f788f788;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000f788f788;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ff88ffc0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ff78ffc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ff88ffc0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ff78ffc0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ff78ffc0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000002000000020;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ff78ffc0;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000002000000020;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffff6361;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4d0a902890b800dc;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffff6361;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4d0a902890b800dc;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000001faf19b60;
+ *((unsigned long *)&__m256i_op1[2]) = 0x6c2905ae7c14c561;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000001faf19b60;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6c2905ae7c14c561;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x94d7fb5200000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000ff00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x94d7fb5200000000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffeb664007ffd61;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffe97a1df5b41b0;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffeb664007ffd61;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffe97a1df5b41b0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ff80;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000180;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsigncov_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8282828282828282;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8768876887688769;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8282828282828282;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8768876887688769;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000003fffc0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000003fffc0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffc00040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffc00040;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffdbff980038ffaf;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffafffe80004fff1;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffdbff980038ffaf;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffafffe80004fff1;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffc;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000fffd0003;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffc;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000fffd0003;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff0000fffd0004;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff0000fffd0004;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0002fffd;
+ __m256i_out = __lasx_xvsigncov_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 07/22] LoongArch: Add tests for ASX vector xvand/xvandi/xvandn/xvor/xvori/ xvnor/xvnori/xvxor/xvxori instructions.
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
` (5 preceding siblings ...)
2023-09-13 3:38 ` [PATCH v4 06/22] LoongArch: Add tests for ASX vector xvldi/xvmskgez/xvmskltz/xvmsknz/xvmuh /xvsigncov instructions Xiaolong Chen
@ 2023-09-13 3:38 ` Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 08/22] LoongArch: Add tests for ASX vector xvsll/xvsrl instructions Xiaolong Chen
2023-09-14 0:51 ` Re:[pushed] [PATCH v4 00/22] Added support for ASX vector instructions chenglulu
8 siblings, 0 replies; 10+ messages in thread
From: Xiaolong Chen @ 2023-09-13 3:38 UTC (permalink / raw)
To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/vector/lasx/lasx-xvand.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvandi.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvandn.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvnor.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvnori.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvor.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvori.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvorn.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvxor.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvxori.c: New test.
---
.../loongarch/vector/lasx/lasx-xvand.c | 155 +++++++++++
.../loongarch/vector/lasx/lasx-xvandi.c | 196 ++++++++++++++
.../loongarch/vector/lasx/lasx-xvandn.c | 125 +++++++++
.../loongarch/vector/lasx/lasx-xvnor.c | 170 ++++++++++++
.../loongarch/vector/lasx/lasx-xvnori.c | 152 +++++++++++
.../loongarch/vector/lasx/lasx-xvor.c | 215 +++++++++++++++
.../loongarch/vector/lasx/lasx-xvori.c | 141 ++++++++++
.../loongarch/vector/lasx/lasx-xvorn.c | 245 ++++++++++++++++++
.../loongarch/vector/lasx/lasx-xvxor.c | 185 +++++++++++++
.../loongarch/vector/lasx/lasx-xvxori.c | 163 ++++++++++++
10 files changed, 1747 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvand.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandi.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandn.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnor.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnori.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvor.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvori.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvorn.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxor.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxori.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvand.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvand.c
new file mode 100644
index 00000000000..e485786dd3b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvand.c
@@ -0,0 +1,155 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0010001000100010;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvand_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvand_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvand_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2020202020202020;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvand_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvand_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvand_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfefee00000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfefee00000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[3]) = 0xfefee00000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfefee00000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvand_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000004843ffdff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000004843ffdff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvand_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000001c;
+ __m256i_out = __lasx_xvand_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandi.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandi.c
new file mode 100644
index 00000000000..26cddc53a49
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandi.c
@@ -0,0 +1,196 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0xe2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000505;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x19);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x001175f10e4330e8;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff8f0842ff29211e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffff8d9ffa7103d;
+ *((unsigned long *)&__m256i_result[3]) = 0x001151510a431048;
+ *((unsigned long *)&__m256i_result[2]) = 0x5b0b08425b09011a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x5b5b58595b031019;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x5b);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_result[3]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_result[2]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_result[1]) = 0x0400040004000400;
+ *((unsigned long *)&__m256i_result[0]) = 0x0400040004000400;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x2d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffff900000003;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffff900000003;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x3f3f3f3900000003;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x3f3f3f3900000003;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x3f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xbabababababababa;
+ *((unsigned long *)&__m256i_result[2]) = 0xbabababababababa;
+ *((unsigned long *)&__m256i_result[1]) = 0xbabababababababa;
+ *((unsigned long *)&__m256i_result[0]) = 0xbabababababababa;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0xba);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[2]) = 0x4000404040004040;
+ *((unsigned long *)&__m256i_result[1]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[0]) = 0x4000404040004040;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x40);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x3f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffff3c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff31;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x5e5e5e5e5e5e5e1c;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x5e5e5e5e5e5e5e10;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x5e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x86);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7f70000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7f70000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x7f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0xa3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0x98);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0xd9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandi_b (__m256i_op0, 0xcc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandn.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandn.c
new file mode 100644
index 00000000000..bc3590c210e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandn.c
@@ -0,0 +1,125 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1828f0e09bad7249;
+ *((unsigned long *)&__m256i_op0[2]) = 0x07ffc1b723953cec;
+ *((unsigned long *)&__m256i_op0[1]) = 0x61f2e9b333aab104;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6bf742aa0d7856a0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000019410000e69a;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf259905a09c23be0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000883a00000f20;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6d3c2d3a89167aeb;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000090100008492;
+ *((unsigned long *)&__m256i_result[2]) = 0xf000104808420300;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000800000e20;
+ *((unsigned long *)&__m256i_result[0]) = 0x04082d108006284b;
+ __m256i_out = __lasx_xvandn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffdfffdfffdfffd;
+ __m256i_out = __lasx_xvandn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1020102010201020;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1020102010201020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1020102010201020;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1020102010201020;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xefdfefdfefdfefdf;
+ *((unsigned long *)&__m256i_result[1]) = 0xefdfefdf00000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xefdfefdfefdfefdf;
+ __m256i_out = __lasx_xvandn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+ __m256i_out = __lasx_xvandn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000d6d6d;
+ __m256i_out = __lasx_xvandn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0fff0fff0fff0fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0fff0fff0fff0fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvandn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnor.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnor.c
new file mode 100644
index 00000000000..3a491ecabe5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnor.c
@@ -0,0 +1,170 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x40d74f979f99419f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xbf28b0686066be60;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000f6ff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000f6ff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffff6ff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffff6ff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000900ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000900ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8888888808888888;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0888888888888888;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8888888808888888;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0888888888888888;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x77777777f7777777;
+ *((unsigned long *)&__m256i_result[2]) = 0xf777777777777777;
+ *((unsigned long *)&__m256i_result[1]) = 0x77777777f7777777;
+ *((unsigned long *)&__m256i_result[0]) = 0xf777777777777777;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x40ff40ff40ff40ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x407b40ff40ff40f1;
+ *((unsigned long *)&__m256i_op0[1]) = 0x40ff40ff40ff40ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x407b40ff40ff40f1;
+ *((unsigned long *)&__m256i_op1[3]) = 0x40ff40ff40ff40ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x407b40ff40ff40f1;
+ *((unsigned long *)&__m256i_op1[1]) = 0x40ff40ff40ff40ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x407b40ff40ff40f1;
+ *((unsigned long *)&__m256i_result[3]) = 0xbf00bf00bf00bf00;
+ *((unsigned long *)&__m256i_result[2]) = 0xbf84bf00bf00bf0e;
+ *((unsigned long *)&__m256i_result[1]) = 0xbf00bf00bf00bf00;
+ *((unsigned long *)&__m256i_result[0]) = 0xbf84bf00bf00bf0e;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000033;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000033;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000420080000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5fff5fff607f0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000420080000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5fff5fff607f0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fffbdff7fffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xa000a0009f80ffcc;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffbdff7fffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xa000a0009f80ffcc;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op0[2]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op0[1]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op0[0]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[3]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[2]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[1]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_op1[0]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_result[3]) = 0x6f6f6f6f6f6f6f6f;
+ *((unsigned long *)&__m256i_result[2]) = 0x6f6f6f6f6f6f6f6f;
+ *((unsigned long *)&__m256i_result[1]) = 0x6f6f6f6f6f6f6f6f;
+ *((unsigned long *)&__m256i_result[0]) = 0x6f6f6f6f6f6f6f6f;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000fffcfffcfffc;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000003fff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff000300030000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffc000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff000300030000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffc000;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x800fffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x800fffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x800fffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x800fffffffffffff;
+ __m256i_out = __lasx_xvnor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnori.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnori.c
new file mode 100644
index 00000000000..995a34c180d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnori.c
@@ -0,0 +1,152 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_result[2]) = 0x45c5c5c545c5c5c5;
+ *((unsigned long *)&__m256i_result[1]) = 0xc5c5c5c4c5c5c5c4;
+ *((unsigned long *)&__m256i_result[0]) = 0x45c5c5c545c5c5c5;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0x3a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007773;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000003373;
+ *((unsigned long *)&__m256i_result[3]) = 0xbbbbbbbbbbbbbbbb;
+ *((unsigned long *)&__m256i_result[2]) = 0xbbbbbbbbbbbb8888;
+ *((unsigned long *)&__m256i_result[1]) = 0xbbbbbbbbbbbbbbbb;
+ *((unsigned long *)&__m256i_result[0]) = 0xbbbbbbbbbbbb8888;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0x44);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[2]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[1]) = 0xf7f7f7f7f7f7f7f7;
+ *((unsigned long *)&__m256i_result[0]) = 0xf7f7f7f7f7f7f7f7;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xdededededededede;
+ *((unsigned long *)&__m256i_result[2]) = 0xdededededededede;
+ *((unsigned long *)&__m256i_result[1]) = 0xdededededededede;
+ *((unsigned long *)&__m256i_result[0]) = 0xdededededededede;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0x21);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0x33);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_result[2]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_result[1]) = 0x9090909090909090;
+ *((unsigned long *)&__m256i_result[0]) = 0x9090909090909090;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0x6f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_result[2]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_result[1]) = 0x0808080808080808;
+ *((unsigned long *)&__m256i_result[0]) = 0x0808080808080808;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0xf7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x5858585858585858;
+ *((unsigned long *)&__m256i_result[2]) = 0x5858585858585858;
+ *((unsigned long *)&__m256i_result[1]) = 0x5858585858585858;
+ *((unsigned long *)&__m256i_result[0]) = 0x5858585858585858;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0xa7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x3d3d3d3d3d3d3d3d;
+ *((unsigned long *)&__m256i_result[2]) = 0x3d3d3d3d3d3d3d3d;
+ *((unsigned long *)&__m256i_result[1]) = 0x3d3d3d3d3d3d3d3d;
+ *((unsigned long *)&__m256i_result[0]) = 0x3d3d3d3d3d3d3d3d;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0xc2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000010;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000010;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x9d9d9d9d9d9d9d8d;
+ *((unsigned long *)&__m256i_result[2]) = 0x9d9d9d9d9d9d9d9d;
+ *((unsigned long *)&__m256i_result[1]) = 0x9d9d9d9d9d9d9d8d;
+ *((unsigned long *)&__m256i_result[0]) = 0x9d9d9d9d9d9d9d9d;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0x62);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_result[2]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_result[1]) = 0x2a2a2a2a2a2a2a2a;
+ *((unsigned long *)&__m256i_result[0]) = 0x2a2a2a2a2a2a2a2a;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0xd5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000081220000812c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000812000008120;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000081220000812c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000812000008120;
+ *((unsigned long *)&__m256i_result[3]) = 0xe9e968c9e9e968c1;
+ *((unsigned long *)&__m256i_result[2]) = 0xe9e968c9e9e968c9;
+ *((unsigned long *)&__m256i_result[1]) = 0xe9e968c9e9e968c1;
+ *((unsigned long *)&__m256i_result[0]) = 0xe9e968c9e9e968c9;
+ __m256i_out = __lasx_xvnori_b (__m256i_op0, 0x16);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvor.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvor.c
new file mode 100644
index 00000000000..27eef710d61
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvor.c
@@ -0,0 +1,215 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fff01fd7fff7fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00007fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fff01fd7fff7fff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00007fff7fff7fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fff01fd7fff7fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00007fff7fff7fff;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000005e02;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000005e02;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000005e02;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000005e02;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000154dc84;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000089;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000154dc84;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000002a54290;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000089;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fefffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000001e0007ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000001e0007ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000001e0007ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001e0007ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fe37fff001fffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fe37fff001fffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fffffff;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x003f60041f636003;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x003f60041f636003;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x003f60041f636003;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x003f60041f636003;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x003f60041f636003;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x003f60041f636003;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff1fff1fff1fff1;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff1fff1fff1fff1;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000100;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000100;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff00ff00ff;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000ff800000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000ff800000ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[2]) = 0x800080ff800080ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[0]) = 0x800080ff800080ff;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff80007fff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff80007fff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff80007fff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff80007fff0000;
+ __m256i_out = __lasx_xvor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvori.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvori.c
new file mode 100644
index 00000000000..ee91af95f9f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvori.c
@@ -0,0 +1,141 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x6c6c6c6c6c6c6c6c;
+ *((unsigned long *)&__m256i_result[2]) = 0x6c6c6c6c6c6c6c6c;
+ *((unsigned long *)&__m256i_result[1]) = 0x6c6c6c6c6c6c6c6c;
+ *((unsigned long *)&__m256i_result[0]) = 0x6c6c6c6c6c6c6c6c;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0x6c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffff00fffffff0;
+ *((unsigned long *)&__m256i_result[3]) = 0x9f9f9f9f9f9f9f9f;
+ *((unsigned long *)&__m256i_result[2]) = 0x9f9f9f9fffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x9f9f9f9f9f9f9f9f;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffff9fffffffff;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0x9f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0x6a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffbdff3cffbdff44;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffbdff3cffbdff44;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffff7effffff46;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffff7effffff46;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0x42);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xbfbfbfbfbfbfbfbf;
+ *((unsigned long *)&__m256i_result[2]) = 0xbfbfbfbfbfbfbfbf;
+ *((unsigned long *)&__m256i_result[1]) = 0xbfbfbfbfbfbfbfbf;
+ *((unsigned long *)&__m256i_result[0]) = 0xbfbfbfbfbfbfbfbf;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0xbf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x2c2c2c2c2c2c2c2c;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x2c2c2c2c2c2c2c2c;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0x2c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x5252525252525252;
+ *((unsigned long *)&__m256i_result[2]) = 0x5252525252525252;
+ *((unsigned long *)&__m256i_result[1]) = 0x5252525252525252;
+ *((unsigned long *)&__m256i_result[0]) = 0x5252525252525252;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0x52);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3f8000003f800000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x3f8000003f800000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3f8000003f800000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x3f8000003f800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fe363637fe36363;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fe363637fe36363;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fe363637fe36363;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fe363637fe36363;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0x63);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfefefefe3f800000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfefefefe3f800000;
+ *((unsigned long *)&__m256i_result[3]) = 0xe0e0e0e0e0e0e0e0;
+ *((unsigned long *)&__m256i_result[2]) = 0xfefefefeffe0e0e0;
+ *((unsigned long *)&__m256i_result[1]) = 0xe0e0e0e0e0e0e0e0;
+ *((unsigned long *)&__m256i_result[0]) = 0xfefefefeffe0e0e0;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0xe0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_result[2]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_result[1]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_result[0]) = 0x6b6b6b6b6b6b6b6b;
+ __m256i_out = __lasx_xvori_b (__m256i_op0, 0x6b);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvorn.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvorn.c
new file mode 100644
index 00000000000..fa6cdff3121
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvorn.c
@@ -0,0 +1,245 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xbf28b0686066be60;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x40d74f979f99419f;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffefffffefc;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01480000052801a2;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffdcff64;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffefd;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0002555500000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0006000000040000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0002555500000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffdaaaaffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff9fffffffbffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffdaaaaffffffff;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000022;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000022;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000236200005111;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000175e0000490d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000236200005111;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000175e0000490d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0002000000020000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00220021004a007e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0002000000020000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00220021004a007e;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffdfffffffdffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffddffdeffb5ff8d;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffdfffffffdffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffddffdeffb5ff8d;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff010000ff017e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x01fe01ae00ff00ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00ff010000ff017e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x01fe01ae00ff00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0xff00feffff00fe81;
+ *((unsigned long *)&__m256i_result[2]) = 0xfe01fe51ff00ff40;
+ *((unsigned long *)&__m256i_result[1]) = 0xff00feffff00fe81;
+ *((unsigned long *)&__m256i_result[0]) = 0xfe01fe51ff00ff40;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe0df9f8e;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffe0df9f8e;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xe07de0801f20607a;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffe0df9f8f;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffe0df9f8f;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff7fffffff7fff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff7fffffff7fff;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xdf80df80df80dfff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffdf80dfff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x498100814843ffe1;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4981008168410001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x498100814843ffe1;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4981008168410001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x40f69fe73c26f4ee;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x40f69fe73c26f4ee;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xff896099cbdbfff1;
+ *((unsigned long *)&__m256i_result[2]) = 0xc987ffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xff896099cbdbfff1;
+ *((unsigned long *)&__m256i_result[0]) = 0xc987ffffffffffff;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffeffff97a1;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffdf5b000041b0;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffeffff97a1;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffdf5b000041b0;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000010000685e;
+ *((unsigned long *)&__m256i_result[2]) = 0x000020a4ffffbe4f;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000010000685e;
+ *((unsigned long *)&__m256i_result[0]) = 0x000020a4ffffbe4f;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000600000006;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000070002000a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0040000000000003;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0040000000000003;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[3]) = 0xffbffffffffffffe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffffa;
+ *((unsigned long *)&__m256i_result[1]) = 0xffbffffffffffffe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffffa;
+ __m256i_out = __lasx_xvorn_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxor.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxor.c
new file mode 100644
index 00000000000..18b36c87306
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxor.c
@@ -0,0 +1,185 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7be2468acf15f39c;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7be2468acf15f39c;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7be2468acf15f39c;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7be2468acf15f39c;
+ *((unsigned long *)&__m256i_result[2]) = 0x7be2468acf15f39c;
+ *((unsigned long *)&__m256i_result[1]) = 0x7be2468acf15f39c;
+ *((unsigned long *)&__m256i_result[0]) = 0x7ff0000000000000;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff3eff3eff3eff3e;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff3eff3eff3eff3e;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00c100c100c100c1;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00c100c100c100c1;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001000100010001;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0100000001000100;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0100000001000100;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0100000001000100;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0100000001000100;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000f91;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000f91;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000f90;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000f90;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x6018000000000cd1;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6040190d20227a78;
+ *((unsigned long *)&__m256i_op0[1]) = 0x132feeabd2d33b38;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6040190d00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x9fe7fffffffff32e;
+ *((unsigned long *)&__m256i_result[2]) = 0x6040190ddfdd8587;
+ *((unsigned long *)&__m256i_result[1]) = 0xecd011542d2cc4c7;
+ *((unsigned long *)&__m256i_result[0]) = 0x6040190dffffffff;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000101000001010;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000101000001010;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000101000001010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000101000001010;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvxor_v (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxori.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxori.c
new file mode 100644
index 00000000000..8fd6298f723
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxori.c
@@ -0,0 +1,163 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000005e02;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000005e02;
+ *((unsigned long *)&__m256i_result[3]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_result[2]) = 0xc2c2c2c2c2c29cc0;
+ *((unsigned long *)&__m256i_result[1]) = 0xc2c2c2c2c2c2c2c2;
+ *((unsigned long *)&__m256i_result[0]) = 0xc2c2c2c2c2c29cc0;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0xc2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1616161616161616;
+ *((unsigned long *)&__m256i_op0[2]) = 0x161616167fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ffe16167f161616;
+ *((unsigned long *)&__m256i_op0[0]) = 0x161616167fffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xc7c7c7c7c7c7c7c7;
+ *((unsigned long *)&__m256i_result[2]) = 0xc7c7c7c7ae2e2e2e;
+ *((unsigned long *)&__m256i_result[1]) = 0xae2fc7c7aec7c7c7;
+ *((unsigned long *)&__m256i_result[0]) = 0xc7c7c7c7ae2e2e2e;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0xd1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x5353535353535353;
+ *((unsigned long *)&__m256i_result[2]) = 0x5353535353535353;
+ *((unsigned long *)&__m256i_result[1]) = 0x5353535353535353;
+ *((unsigned long *)&__m256i_result[0]) = 0x5353535353535353;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0x53);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x6d6d6d6d6d6d6d6d;
+ *((unsigned long *)&__m256i_result[2]) = 0x6d6d6d6d6d6d6d6d;
+ *((unsigned long *)&__m256i_result[1]) = 0x6d6d6d6d6d6d6d6d;
+ *((unsigned long *)&__m256i_result[0]) = 0x6d6d6d6d6d6d6d6d;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0x6d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x7171717171717171;
+ *((unsigned long *)&__m256i_result[2]) = 0x8e8e8e8e8e8e8e8e;
+ *((unsigned long *)&__m256i_result[1]) = 0x7171717171717171;
+ *((unsigned long *)&__m256i_result[0]) = 0x8e8e8e8e8e8e8e8e;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0x71);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[2]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[1]) = 0x7575757575757575;
+ *((unsigned long *)&__m256i_result[0]) = 0x7575757575757575;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0x75);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xa4a4a4a4a4a4a4a4;
+ *((unsigned long *)&__m256i_result[2]) = 0xa4a4a4a4a4a4a4a4;
+ *((unsigned long *)&__m256i_result[1]) = 0xa4a4a4a4a4a4a4a4;
+ *((unsigned long *)&__m256i_result[0]) = 0xa4a4a4a4a4a4a4a4;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0xa4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xa1a1a1a1a1a1a1a1;
+ *((unsigned long *)&__m256i_result[2]) = 0xa1a1a1a15e5e5e5e;
+ *((unsigned long *)&__m256i_result[1]) = 0xa1a1a1a1a1a1a1a1;
+ *((unsigned long *)&__m256i_result[0]) = 0xa1a1a1a15e5e5e5e;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0xa1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8d8d72728d8d7272;
+ *((unsigned long *)&__m256i_result[2]) = 0x8d8d72728d8d8d8d;
+ *((unsigned long *)&__m256i_result[1]) = 0x8d8d72728d8d7272;
+ *((unsigned long *)&__m256i_result[0]) = 0x8d8d72728d8d8d8d;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0x8d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xb3b3b3b3b3b3b3b3;
+ *((unsigned long *)&__m256i_result[2]) = 0xb3b3b3b3b3b3b3b3;
+ *((unsigned long *)&__m256i_result[1]) = 0xb3b3b3b3b3b3b3b3;
+ *((unsigned long *)&__m256i_result[0]) = 0xb3b3b3b3b3b3b3b3;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0x4c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffff800000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f0000ff807f81;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffff800000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f0000ff807f81;
+ *((unsigned long *)&__m256i_result[3]) = 0x5d5d5d5d5d22a2a2;
+ *((unsigned long *)&__m256i_result[2]) = 0xa2dda2a25d22dd23;
+ *((unsigned long *)&__m256i_result[1]) = 0x5d5d5d5d5d22a2a2;
+ *((unsigned long *)&__m256i_result[0]) = 0xa2dda2a25d22dd23;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0xa2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xd3d3d3d3d3d3d3d3;
+ *((unsigned long *)&__m256i_result[2]) = 0xd3d3d3d3d3d3d3d3;
+ *((unsigned long *)&__m256i_result[1]) = 0xd3d3d3d3d3d3d3d3;
+ *((unsigned long *)&__m256i_result[0]) = 0xd3d3d3d3d3d3d3d3;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0xd3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfa15fa15fa15fa14;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfa15fa15fa15fa14;
+ *((unsigned long *)&__m256i_result[3]) = 0x8282828282828282;
+ *((unsigned long *)&__m256i_result[2]) = 0x8768876887688769;
+ *((unsigned long *)&__m256i_result[1]) = 0x8282828282828282;
+ *((unsigned long *)&__m256i_result[0]) = 0x8768876887688769;
+ __m256i_out = __lasx_xvxori_b (__m256i_op0, 0x7d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 08/22] LoongArch: Add tests for ASX vector xvsll/xvsrl instructions.
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
` (6 preceding siblings ...)
2023-09-13 3:38 ` [PATCH v4 07/22] LoongArch: Add tests for ASX vector xvand/xvandi/xvandn/xvor/xvori/ xvnor/xvnori/xvxor/xvxori instructions Xiaolong Chen
@ 2023-09-13 3:38 ` Xiaolong Chen
2023-09-14 0:51 ` Re:[pushed] [PATCH v4 00/22] Added support for ASX vector instructions chenglulu
8 siblings, 0 replies; 10+ messages in thread
From: Xiaolong Chen @ 2023-09-13 3:38 UTC (permalink / raw)
To: gcc-patches; +Cc: xry111, i, xuchenghua, chenglulu, Xiaolong Chen
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/vector/lasx/lasx-xvsll.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvslli.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsrl.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsrli.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsrln.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c: New test.
* gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c: New test.
---
.../loongarch/vector/lasx/lasx-xvsll.c | 425 +++++++++++
.../loongarch/vector/lasx/lasx-xvslli.c | 416 +++++++++++
.../loongarch/vector/lasx/lasx-xvsllwil-1.c | 339 +++++++++
.../loongarch/vector/lasx/lasx-xvsllwil-2.c | 350 +++++++++
.../loongarch/vector/lasx/lasx-xvsrl.c | 650 +++++++++++++++++
.../loongarch/vector/lasx/lasx-xvsrli.c | 405 +++++++++++
.../loongarch/vector/lasx/lasx-xvsrln.c | 425 +++++++++++
.../loongarch/vector/lasx/lasx-xvsrlni.c | 680 ++++++++++++++++++
.../loongarch/vector/lasx/lasx-xvsrlr.c | 515 +++++++++++++
.../loongarch/vector/lasx/lasx-xvsrlri.c | 416 +++++++++++
.../loongarch/vector/lasx/lasx-xvsrlrn.c | 410 +++++++++++
.../loongarch/vector/lasx/lasx-xvsrlrni.c | 455 ++++++++++++
12 files changed, 5486 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsll.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslli.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrl.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrli.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrln.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c
create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsll.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsll.c
new file mode 100644
index 00000000000..7179e715cd3
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsll.c
@@ -0,0 +1,425 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+ __m256i_out = __lasx_xvsll_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00001f41ffffbf00;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00001f41ffffbf00;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffe0000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffe0000000;
+ __m256i_out = __lasx_xvsll_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7f00000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000fffefe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000fffefe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000808080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffefefffffcfa;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffefefffffcfa;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+ __m256i_out = __lasx_xvsll_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfff2f7bcfff2f7bd;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff2f93bfff2fff2;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfff2f7bcfff2f7bd;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff2f93bfff2fff2;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffcf800fffcfffc;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fffcfffc;
+ __m256i_out = __lasx_xvsll_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff8c80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffffe40;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0004000400040004;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ffff8c80;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000fff0e400;
+ __m256i_out = __lasx_xvsll_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x5980000000000000;
+ __m256i_out = __lasx_xvsll_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[2]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[1]) = 0x8080808080808080;
+ *((unsigned long *)&__m256i_result[0]) = 0x8080808080808080;
+ __m256i_out = __lasx_xvsll_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+ __m256i_out = __lasx_xvsll_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000200000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000800000000;
+ __m256i_out = __lasx_xvsll_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001ffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfe00000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001ffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfe00000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000001ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffe0000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000001ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffe0000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000001ff8000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000001ff8000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001ffff0001ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001ffff0001ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+ __m256i_out = __lasx_xvsll_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000ffff0000ffff;
+ __m256i_out = __lasx_xvsll_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvsll_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff800000000000;
+ __m256i_out = __lasx_xvsll_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00010001000100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00010001000100;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[2]) = 0x800000ff800000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[0]) = 0x800000ff800000ff;
+ __m256i_out = __lasx_xvsll_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1400080008000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1400080008000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1400080008000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1400080008000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsll_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslli.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslli.c
new file mode 100644
index 00000000000..003e29b67ee
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslli.c
@@ -0,0 +1,416 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x01fa022a01a401e5;
+ *((unsigned long *)&__m256i_op0[2]) = 0x030d03aa0079029b;
+ *((unsigned long *)&__m256i_op0[1]) = 0x024c01f901950261;
+ *((unsigned long *)&__m256i_op0[0]) = 0x008102c2008a029f;
+ *((unsigned long *)&__m256i_result[3]) = 0x54000000ca000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x5400000036000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xf2000000c2000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x840000003e000000;
+ __m256i_out = __lasx_xvslli_w (__m256i_op0, 0x19);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff1001100100000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010100000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff1001100100000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010100000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfcc4004400400000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0040400000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfcc4004400400000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0040400000000000;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_d (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffefffffffef;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffef000004ea;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffefffffffef;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffefffffffef;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffefffffffef;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffef000004ea;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffefffffffef;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffefffffffef;
+ __m256i_out = __lasx_xvslli_h (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffff8;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffbf4;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffffffffc;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffc;
+ *((unsigned long *)&__m256i_result[3]) = 0xf800f800f800c000;
+ *((unsigned long *)&__m256i_result[2]) = 0xf800f800f800a000;
+ *((unsigned long *)&__m256i_result[1]) = 0xf800f800f800e000;
+ *((unsigned long *)&__m256i_result[0]) = 0xf800f800f800e000;
+ __m256i_out = __lasx_xvslli_h (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffefefffffefe;
+ __m256i_out = __lasx_xvslli_h (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0100010001000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0100010001000000;
+ __m256i_out = __lasx_xvslli_d (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xf000000000000000;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_w (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1616161616161616;
+ *((unsigned long *)&__m256i_op0[2]) = 0x161616167fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ffe16167f161616;
+ *((unsigned long *)&__m256i_op0[0]) = 0x161616167fffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x2c2c2c2c2c2c2c2c;
+ *((unsigned long *)&__m256i_result[2]) = 0x2c2c2c2cfefefefe;
+ *((unsigned long *)&__m256i_result[1]) = 0xfefc2c2cfe2c2c2c;
+ *((unsigned long *)&__m256i_result[0]) = 0x2c2c2c2cfefefefe;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xf8f8f8f8f8f8f8f8;
+ *((unsigned long *)&__m256i_result[2]) = 0xf8f8f8f8f8f8f8f8;
+ *((unsigned long *)&__m256i_result[1]) = 0xf8f8f8f8f8f8f8f8;
+ *((unsigned long *)&__m256i_result[0]) = 0xf8f8f8f8f8f8f8f8;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1f60000000c00000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1f60000000c00000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x60000000c0000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x60000000c0000000;
+ __m256i_out = __lasx_xvslli_h (__m256i_op0, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff8fff8fff8fff8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff8fff8fff8fff8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xff80ff80ff80ff80;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff80ff80ff80ff80;
+ __m256i_out = __lasx_xvslli_h (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000008000000080;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00080008000801ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0008000800080008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00080008000801ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0008000800080008;
+ *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_d (__m256i_op0, 0x3f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_result[2]) = 0xf0f0f0f0f0f0f0f0;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_result[0]) = 0xf0f0f0f0f0f0f0f0;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_w (__m256i_op0, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_w (__m256i_op0, 0x19);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x03f0000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x03f0000000000000;
+ __m256i_out = __lasx_xvslli_d (__m256i_op0, 0x34);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_w (__m256i_op0, 0x9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffff80000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffff80000;
+ __m256i_out = __lasx_xvslli_d (__m256i_op0, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_result[2]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_result[1]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_result[0]) = 0xfefefefefefefefe;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_result[2]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_result[1]) = 0xf800f800f800f800;
+ *((unsigned long *)&__m256i_result[0]) = 0xf800f800f800f800;
+ __m256i_out = __lasx_xvslli_h (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_h (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_h (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x4040404040404040;
+ *((unsigned long *)&__m256i_result[3]) = 0x0404000004040000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0404000004040000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0404000004040000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0404000004040000;
+ __m256i_out = __lasx_xvslli_w (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_d (__m256i_op0, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000004843ffdff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000004843ffdff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000c040c0;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000c040c0;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_b (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffff000000;
+ __m256i_out = __lasx_xvslli_d (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvslli_h (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c
new file mode 100644
index 00000000000..ef3a47da508
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c
@@ -0,0 +1,339 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffe0ffe0ffe0ffe0;
+ *((unsigned long *)&__m256i_result[2]) = 0xffe0ffe0ffe0ffe0;
+ *((unsigned long *)&__m256i_result[1]) = 0xffe0ffe0ffe0ffe0;
+ *((unsigned long *)&__m256i_result[0]) = 0xffe0ffe0ffe0ffe0;
+ __m256i_out = __lasx_xvsllwil_h_b (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000003f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000003f0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000003f0;
+ __m256i_out = __lasx_xvsllwil_h_b (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_h_b (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_h_b (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000080000009;
+ *((unsigned long *)&__m256i_op0[2]) = 0x43ef878780000009;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000080000009;
+ *((unsigned long *)&__m256i_op0[0]) = 0x43ef878780000009;
+ *((unsigned long *)&__m256i_result[3]) = 0x0218ff78fc38fc38;
+ *((unsigned long *)&__m256i_result[2]) = 0xfc00000000000048;
+ *((unsigned long *)&__m256i_result[1]) = 0x0218ff78fc38fc38;
+ *((unsigned long *)&__m256i_result[0]) = 0xfc00000000000048;
+ __m256i_out = __lasx_xvsllwil_h_b (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffc0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff0fff0fff0fc00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff0fff0fff0fc00;
+ __m256i_out = __lasx_xvsllwil_h_b (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_h_b (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfc00000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfc00000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfc00000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfc00000000000000;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000200000002;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffc00fffffc00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffc00fffffc00;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0040000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0040000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000005;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000a000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000a000;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000400000004000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000400000004000;
+ __m256i_out = __lasx_xvsllwil_w_h (__m256i_op0, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffc00;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffc00;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffc00;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffc00;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffefffffefd;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffff8;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffffffffbf4;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffffc;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffffffffffc;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0x9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0x18);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0x1f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xdbc8000000003fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xdbc8000000003fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffbff1ffffbff1;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffbff1ffffbff1;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffeffc4000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffeffc4000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffeffc4000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffeffc4000000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0x1a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffe05fc47b400;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffe06003fc000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffe05fc47b400;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffe06003fc000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000feccfecc;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000feccfecc;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fe36364661af18f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fe363637fe36364;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fe36364661af18f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fe363637fe36364;
+ *((unsigned long *)&__m256i_result[3]) = 0x00001ff8d8d8c000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00001ff8d8d90000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00001ff8d8d8c000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00001ff8d8d90000;
+ __m256i_out = __lasx_xvsllwil_d_w (__m256i_op0, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c
new file mode 100644
index 00000000000..76651af6334
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c
@@ -0,0 +1,350 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff0000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff0000000000080;
+ *((unsigned long *)&__m256i_result[3]) = 0x7f80780000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000004000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7f80780000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000004000;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffefe00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x03fc03fc03f803f8;
+ *((unsigned long *)&__m256i_result[2]) = 0x03fc03fc03f803f8;
+ *((unsigned long *)&__m256i_result[1]) = 0x03fc03fc03f803f8;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x01fe01fe01fe01fe;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x1f0fdf7f3e3b31d4;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff8000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x01fc03e000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x01fc03e000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00fe01e000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00fe01e000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x07fed3c8f7ad28d0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x07fee332883f86b0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x07fed3c8f7ad28d0;
+ *((unsigned long *)&__m256i_result[3]) = 0x01c03f8034c03200;
+ *((unsigned long *)&__m256i_result[2]) = 0x3dc02b400a003400;
+ *((unsigned long *)&__m256i_result[1]) = 0x01c03f8034c03200;
+ *((unsigned long *)&__m256i_result[0]) = 0x3dc02b400a003400;
+ __m256i_out = __lasx_xvsllwil_hu_bu (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_wu_hu (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_wu_hu (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000054;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00aa000000ac00fe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000054;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00aa000000ac00fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0002a80000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0002b0000003f800;
+ *((unsigned long *)&__m256i_result[1]) = 0x0002a80000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0002b0000003f800;
+ __m256i_out = __lasx_xvsllwil_wu_hu (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xc1be9e9e9f000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x41d8585858400000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xc1be9e9e9f000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x41d8585858400000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1076000016160000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1610000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1076000016160000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1610000000000000;
+ __m256i_out = __lasx_xvsllwil_wu_hu (__m256i_op0, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_wu_hu (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_wu_hu (__m256i_op0, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000000d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_wu_hu (__m256i_op0, 0x4);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fff80007fff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fff80007fff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000008000;
+ __m256i_out = __lasx_xvsllwil_wu_hu (__m256i_op0, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_wu_hu (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000007f00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x311d73ad3ec2064a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000001fc000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000c475ceb40000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000fb0819280000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000ff0000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0004040404000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0004040404000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0004040404000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0004040404000000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x1a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000007c8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000007c8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000007c8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000007c8;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000086000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00040ff288000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000086000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00040ff288000000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x19);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000fff000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000fff000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000001ffe00000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000001ffe00000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x80000000ffc8ff88;
+ *((unsigned long *)&__m256i_op0[1]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x80000000ffc8ff88;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001ff91ff100000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001ff91ff100000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000008c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000008c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001180000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001180000000;
+ __m256i_out = __lasx_xvsllwil_du_wu (__m256i_op0, 0x1d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrl.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrl.c
new file mode 100644
index 00000000000..1d591c35c9b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrl.c
@@ -0,0 +1,650 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000017ffffffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000017ffffffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000017ffffffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000017ffffffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff;
+ __m256i_out = __lasx_xvsrl_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x247fe49409620040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x247fe49409620040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x6580668200fe0002;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6580668200fe0002;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x247fe49409620040;
+ *((unsigned long *)&__m256i_result[2]) = 0x247fe49409620040;
+ *((unsigned long *)&__m256i_result[1]) = 0x6580668200fe0002;
+ *((unsigned long *)&__m256i_result[0]) = 0x6580668200fe0002;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000003f7e3f;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffc6cc05c64d960e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000003f7e3f;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff874dc687870000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000003f7e3f;
+ *((unsigned long *)&__m256i_result[2]) = 0xffc6cc05c64d960e;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000003f7e3f;
+ *((unsigned long *)&__m256i_result[0]) = 0xff874dc687870000;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffba0c05;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffba0c05;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000483800;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xff00ffffff00ffff;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000008000000080;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000200;
+ __m256i_out = __lasx_xvsrl_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000001fffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+ __m256i_out = __lasx_xvsrl_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000080000000800;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000080000000800;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000080000000800;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000080000000800;
+ __m256i_out = __lasx_xvsrl_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffff70156;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffff70156;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffff70156;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffff70156;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000008;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000008;
+ __m256i_out = __lasx_xvsrl_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_result[2]) = 0x7fff7fff7fff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7fe37fe3001d001d;
+ *((unsigned long *)&__m256i_result[0]) = 0x7fff7fff7fff0000;
+ __m256i_out = __lasx_xvsrl_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvsrl_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000004000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000004000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff10000fff10000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000001010800;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000001010800;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0d0d0d0d0d0d0d0d;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000008e4bfc4eff0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000001ffee10000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000008e4bfc4eff0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000001ffee10000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0d0d0d000000000d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0d0d0d0000060d0d;
+ *((unsigned long *)&__m256i_result[1]) = 0x0d0d0d000000000d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0d0d0d0000060d0d;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000408080c111414;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000408080c111414;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000408080c111414;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000408080c111414;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000010;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000e0000000d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000e0000000e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000e0000000d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffff03ffffff07;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffff03ffffff07;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000800080008000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x80008000fff98000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000800080008000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x80008000fff98000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrl_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrl_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000040004000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000040004000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000040404000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000040404000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000040004000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000040004000;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000040404040;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000040404040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000040404040;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffefefefe;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000040404040;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfe01fe01fd02fd02;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fc03fc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfe01fe01fd02fd02;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000003fc03fc0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000001010100;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000405;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000001010100;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000405;
+ *((unsigned long *)&__m256i_result[3]) = 0xfe01fe017e81fd02;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000003fc001fe;
+ *((unsigned long *)&__m256i_result[1]) = 0xfe01fe017e81fd02;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000003fc001fe;
+ __m256i_out = __lasx_xvsrl_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000010000685e;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000020a4ffffbe4f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000010000685e;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000020a4ffffbe4f;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000003ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001ffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000003ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001ffffffffffff;
+ __m256i_out = __lasx_xvsrl_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffff8000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffff00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1c1c1c1c1c1c1c1c;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffff00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000001ffff8000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000001ffff8000;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_result[2]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_result[1]) = 0xfd02fd02fd02fd02;
+ *((unsigned long *)&__m256i_result[0]) = 0xfd02fd02fd02fd02;
+ __m256i_out = __lasx_xvsrl_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001fffe0005fff9;
+ *((unsigned long *)&__m256i_op0[2]) = 0x04f004f204f204f0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001fffe0005fff9;
+ *((unsigned long *)&__m256i_op0[0]) = 0x04f004f204f204f0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000002780;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000002780;
+ __m256i_out = __lasx_xvsrl_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrli.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrli.c
new file mode 100644
index 00000000000..e8696701fc8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrli.c
@@ -0,0 +1,405 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_w (__m256i_op0, 0x15);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000050005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x1010101110101011;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x1111111211111112;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000004040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000004444;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0x2e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0x3e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffcc8000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007dfdff4b;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x003ffff300000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000001f7f7f;
+ __m256i_out = __lasx_xvsrli_w (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x9240f24a84b18025;
+ *((unsigned long *)&__m256i_op0[2]) = 0x9240f24a84b18025;
+ *((unsigned long *)&__m256i_op0[1]) = 0xb2c0b341807f8006;
+ *((unsigned long *)&__m256i_op0[0]) = 0xb2c0b341807f8006;
+ *((unsigned long *)&__m256i_result[3]) = 0x009200f200840080;
+ *((unsigned long *)&__m256i_result[2]) = 0x009200f200840080;
+ *((unsigned long *)&__m256i_result[1]) = 0x00b200b300800080;
+ *((unsigned long *)&__m256i_result[0]) = 0x00b200b300800080;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000c40086;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000c40086;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0x9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001ffff0001ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001ffff0001ffff;
+ __m256i_out = __lasx_xvsrli_w (__m256i_op0, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_b (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_b (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0x1e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffcb423a587053;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6d46f43e71141b81;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffcb423a584528;
+ *((unsigned long *)&__m256i_op0[0]) = 0x9bdf36c8d78158a1;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000007fffe;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000036a37;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000007fffe;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000004def9;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0x2d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0889088908810881;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0081010000810100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0889088900810088;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0081010000810100;
+ *((unsigned long *)&__m256i_result[3]) = 0x0004448444844084;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000408080004080;
+ *((unsigned long *)&__m256i_result[1]) = 0x0004448444804080;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000408080004080;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0x9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000001d001d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000001d001d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000030003;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000030003;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0x22);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000077fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000307;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_b (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_b (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000014402080144;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000a0010400a;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000a0010400a;
+ __m256i_out = __lasx_xvsrli_w (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000598;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000598;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_w (__m256i_op0, 0x10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0x15);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000007f807f80;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000007f807f80;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ff00;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ff00;
+ __m256i_out = __lasx_xvsrli_w (__m256i_op0, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000013;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_b (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001ffff0001ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0001ffff0001ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001ffff0001ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0001ffff0001ffff;
+ __m256i_out = __lasx_xvsrli_w (__m256i_op0, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0x9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_d (__m256i_op0, 0x23);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x3fffffff3fffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x3fffffff3fffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrli_w (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003fff00003fff;
+ __m256i_out = __lasx_xvsrli_w (__m256i_op0, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffff10;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff10;
+ *((unsigned long *)&__m256i_result[3]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_result[2]) = 0x3fff3fff3fff3fc4;
+ *((unsigned long *)&__m256i_result[1]) = 0x3fff3fff3fff3fff;
+ *((unsigned long *)&__m256i_result[0]) = 0x3fff3fff3fff3fc4;
+ __m256i_out = __lasx_xvsrli_h (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrln.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrln.c
new file mode 100644
index 00000000000..d549910517d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrln.c
@@ -0,0 +1,425 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000003868686a20;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0045b8ae81bce1d8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000003868686a20;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0045b8ae81bce1d8;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00386a20b8aee1d8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00386a20b8aee1d8;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x2020000020200000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x2020000020200000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0008000001010000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101000001010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff017e01fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x017e00ff017e00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff017e01fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x88888a6d0962002e;
+ *((unsigned long *)&__m256i_op0[2]) = 0xdb8a3109fe0f0020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000007fff01fffb;
+ *((unsigned long *)&__m256i_op0[0]) = 0xdb8e20990cce025a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff01ff3400000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ff83ff01;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0962002efe0f0020;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xff01fffb8667012d;
+ __m256i_out = __lasx_xvsrln_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfff8fff8fff8fff8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfff8fff8fff8fff8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000fffeffeb;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000fb7afb62;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000fffeffeb;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fb7afb62;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffeffebfb7afb62;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffeffebfb7afb62;
+ __m256i_out = __lasx_xvsrln_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000040;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff010000ff017e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x01fe01ae00ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff010000ff017e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x01fe01ae00ff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000a00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000a00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000010000000a;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff017e6b803fc0;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff017e6b803fc0;
+ __m256i_out = __lasx_xvsrln_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000781;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000078100000064;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xa1a1a1a1a1a1a1a1;
+ *((unsigned long *)&__m256i_op0[2]) = 0xa1a1a1a15e5e5e5e;
+ *((unsigned long *)&__m256i_op0[1]) = 0xa1a1a1a1a1a1a1a1;
+ *((unsigned long *)&__m256i_op0[0]) = 0xa1a1a1a15e5e5e5e;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xa1a1a1a1a1a15e5e;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xa1a1a1a1a1a15e5e;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0003800400038004;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000a800b000a800b;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0003800400038004;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000a800b000a800b;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffff00000000;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0080000000800000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0080000000800000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0080000000800000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0080000000800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0404040404040404;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0404040404040404;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0404040404040404;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0404040404040404;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffff97a2;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000027;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000027;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrln_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffff10;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffff10;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1716151417161514;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1716151417161514;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1716151417161514;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1716151417161514;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0fff0fff0fff0fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0fff0fff0fff0fff;
+ __m256i_out = __lasx_xvsrln_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c
new file mode 100644
index 00000000000..0fb6483cfcc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c
@@ -0,0 +1,680 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_w_d (__m256i_op0, __m256i_op1, 0x1f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_b_h (__m256i_op0, __m256i_op1, 0x9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7f00000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000001010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_b_h (__m256i_op0, __m256i_op1, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_w_d (__m256i_op0, __m256i_op1, 0x1d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffc500000002d;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000034;
+ *((unsigned long *)&__m256i_op1[3]) = 0xbfa3e127c147721f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1729c173836edfbe;
+ *((unsigned long *)&__m256i_op1[1]) = 0xdf91f111808007fb;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5ff1f90ffffbf30f;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ff280016;
+ *((unsigned long *)&__m256i_result[2]) = 0xd193a30f94b9b7df;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000001001a;
+ *((unsigned long *)&__m256i_result[0]) = 0xc88840fdf887fd87;
+ __m256i_out = __lasx_xvsrlni_b_h (__m256i_op0, __m256i_op1, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffff00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000000f;
+ __m256i_out = __lasx_xvsrlni_w_d (__m256i_op0, __m256i_op1, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffc5556aaa8;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffc5556aaa8;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x555555553f800000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x555555553f800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000007070205;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000002020100;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000007070205;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000002020100;
+ __m256i_out = __lasx_xvsrlni_b_h (__m256i_op0, __m256i_op1, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x5980000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffefefffffefe;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffefe00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000003ff000003ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_w_d (__m256i_op0, __m256i_op1, 0x36);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x73);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff00ffffff00ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffe01fe01f;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffe01fe01f;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffe01fe01f;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffe01fe01f;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000fe01020b0001;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000fe01020b0001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0fff0fff00000020;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0fff0fff00000020;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xd207e90001fb16ef;
+ *((unsigned long *)&__m256i_op0[2]) = 0xc8eab25698f97e90;
+ *((unsigned long *)&__m256i_op0[1]) = 0xd207e90001fb16ef;
+ *((unsigned long *)&__m256i_op0[0]) = 0xc8eab25698f97e90;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x01fb16ef98f97e90;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x01fb16ef98f97e90;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_w_d (__m256i_op0, __m256i_op1, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x003f003f003f003f;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x1a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffa0078fffa0074;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffa0078fffa0074;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffa2078fffa2074;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffefffefffefffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffa2078fffa2074;
+ *((unsigned long *)&__m256i_result[3]) = 0x01ff01ff01ff01ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x01ff01ff01ff01ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x01ff01ff01ff01ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x01ff01ff01ff01ff;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x17);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000401000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003e6c0000cb7a;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000401000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003e6c0000cb7a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x40000000b000032d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x40000000b000032d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_w_d (__m256i_op0, __m256i_op1, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x007f00ff007f00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffffffffffc;
+ *((unsigned long *)&__m256i_result[2]) = 0x01fc03fc01fc03fc;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffffffffffc;
+ *((unsigned long *)&__m256i_result[0]) = 0x01fc03fc01fc03fc;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x3e);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ef0120;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ef0120;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000e9ece9ec;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000e9ece9ec;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000e9ece9ec;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000e9ece9ec;
+ *((unsigned long *)&__m256i_result[3]) = 0x00ff00ff00ff0120;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000e9ec0000e9ec;
+ *((unsigned long *)&__m256i_result[1]) = 0x00ff00ff00ff0120;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000e9ec0000e9ec;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffdd001dffe00020;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffdd001dffe00031;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffdd001dffe00020;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffdd001dffe00031;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x3ff73ff83ff73ff8;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x3ff73ff83ff73ff8;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003fff00003fff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0003000300030003;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0003000300030003;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0003000300030003;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0003000300030003;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000003;
+ *((unsigned long *)&__m256i_result[3]) = 0x0600060000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0600060000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001fffe0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001fffe00010001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0007fff8000ffff0;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000007fff8;
+ *((unsigned long *)&__m256i_result[1]) = 0x0007fff8000ffff0;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000007fff8;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x1d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0020000f0000000f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0010000f0000000f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0020000f0000000f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0010000f0000000f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x1e0000001e002000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1e0000001e002000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x27);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffff3225;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffff3225;
+ *((unsigned long *)&__m256i_op1[3]) = 0x2221201f1e1d1c1b;
+ *((unsigned long *)&__m256i_op1[2]) = 0x1a19181716151413;
+ *((unsigned long *)&__m256i_op1[1]) = 0x2221201f1e1d1c1b;
+ *((unsigned long *)&__m256i_op1[0]) = 0x1a19181716151413;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000004442403;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000004442403;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x63);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fef0000ffff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fef0000ffff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000ff00ff;
+ *((unsigned long *)&__m256i_result[3]) = 0xde00fe0000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000fe010000fe01;
+ *((unsigned long *)&__m256i_result[1]) = 0xde00fe0000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000fe010000fe01;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00ff00ff00ff00ff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00ff00fe00ff00fe;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00ff00fe00ff00fe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000007070707;
+ *((unsigned long *)&__m256i_result[2]) = 0x00ff00ff07070707;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000007070707;
+ *((unsigned long *)&__m256i_result[0]) = 0x00ff00ff07070707;
+ __m256i_out = __lasx_xvsrlni_b_h (__m256i_op0, __m256i_op1, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x03ff000003ff03ff;
+ *((unsigned long *)&__m256i_result[2]) = 0x03ff000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x03ff000003ff03ff;
+ *((unsigned long *)&__m256i_result[0]) = 0x03ff000000000000;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x16);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_b_h (__m256i_op0, __m256i_op1, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000700000007;
+ *((unsigned long *)&__m256i_result[2]) = 0x0007ffff0007ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000700000007;
+ *((unsigned long *)&__m256i_result[0]) = 0x0007ffff0007ffff;
+ __m256i_out = __lasx_xvsrlni_w_d (__m256i_op0, __m256i_op1, 0x2d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x66);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000e000e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000000e000e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000e000e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000000e000e;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000e0000000e00;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000e0000000e00;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfc003802fc000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfc003802fc000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x03802fc000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x03802fc000000000;
+ __m256i_out = __lasx_xvsrlni_w_d (__m256i_op0, __m256i_op1, 0x14);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x5a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x080808000828082f;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0808080008280820;
+ *((unsigned long *)&__m256i_op0[1]) = 0x080808000828082f;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0808080008280820;
+ *((unsigned long *)&__m256i_op1[3]) = 0x04e8296f18181818;
+ *((unsigned long *)&__m256i_op1[2]) = 0x132feea900000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x04e8296f18181818;
+ *((unsigned long *)&__m256i_op1[0]) = 0x132feea900000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00828082f0808080;
+ *((unsigned long *)&__m256i_result[2]) = 0xf18181818132feea;
+ *((unsigned long *)&__m256i_result[1]) = 0x00828082f0808080;
+ *((unsigned long *)&__m256i_result[0]) = 0xf18181818132feea;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x24);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000200000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000004000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000200000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000004000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_w_d (__m256i_op0, __m256i_op1, 0x39);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x43);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfe01fe01fc01fc01;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000003fc03bbc;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfe01fe01fc01fc01;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000003fc03bbc;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfc01000000003fc0;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xfc01000000003fc0;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x10);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000001fff0;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000feff0001ffb8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000001fff0;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000feff0001ffb8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_h_w (__m256i_op0, __m256i_op1, 0x11);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000126000200;
+ *((unsigned long *)&__m256i_op0[2]) = 0x2555205ea7bc4020;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000126000200;
+ *((unsigned long *)&__m256i_op0[0]) = 0x2555205ea7bc4020;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0fffffff10000006;
+ *((unsigned long *)&__m256i_op1[2]) = 0x10ffffff10000006;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0fffffff10000006;
+ *((unsigned long *)&__m256i_op1[0]) = 0x10ffffff10000006;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000004980008;
+ *((unsigned long *)&__m256i_result[2]) = 0x003ffffffc400000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000004980008;
+ *((unsigned long *)&__m256i_result[0]) = 0x003ffffffc400000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x46);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00f0000000f00010;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff0ff00fff0ff10;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00f0000000f00010;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff0ff00fff0ff10;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0087ff87f807ff87;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0087ff87f807ff87;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0xd);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x68);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_b_h (__m256i_op0, __m256i_op1, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x50);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000050005;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_op1[3]) = 0xf007fe76f008fe19;
+ *((unsigned long *)&__m256i_op1[2]) = 0xf08aff01f07cc291;
+ *((unsigned long *)&__m256i_op1[1]) = 0xf007fe76f008fe19;
+ *((unsigned long *)&__m256i_op1[0]) = 0xf08aff01f07cc291;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000001400;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000003c01ff9;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000003c01ff9;
+ __m256i_out = __lasx_xvsrlni_d_q (__m256i_op0, __m256i_op1, 0x66);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c
new file mode 100644
index 00000000000..22e62a3e70a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c
@@ -0,0 +1,515 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x40d74f979f99419f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x40d74f979f99419f;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff8080000004000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000080000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff8080000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffffefffffefc;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffffffffffffe;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000200000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000200000000;
+ __m256i_out = __lasx_xvsrlr_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff0000000000080;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff0000000000080;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xfff0000000000080;
+ *((unsigned long *)&__m256i_result[1]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xfff0000000000080;
+ __m256i_out = __lasx_xvsrlr_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x6300000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff00000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x7ff0000000000000;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[0]) = 0x0101010101010101;
+ __m256i_out = __lasx_xvsrlr_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000007fffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000001020202;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000001020202;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000002222;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00003ddd80007bbb;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000002222;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00003ddd80007bbb;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffff800000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff800000000000;
+ __m256i_out = __lasx_xvsrlr_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x009f00f8007e00f0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f007f0081007f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x009f00f8007e00f0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f007f0081007f;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0ea85f60984a8555;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00a21ef3246995f3;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1189ce8000fa14ed;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0e459089665f40f3;
+ *((unsigned long *)&__m256i_result[3]) = 0x000100f800000008;
+ *((unsigned long *)&__m256i_result[2]) = 0x0020001000000010;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000f800000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0004000000000010;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003fc00000428a;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003fc00000428a;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffc040ffffc09d;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op1[3]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op1[2]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op1[1]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_op1[0]) = 0xfffffff1fffffff1;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000008000;
+ __m256i_out = __lasx_xvsrlr_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7f7f000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x007f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7f7f000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x007f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000100010001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0001000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000100010001;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x80000000ff800000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x80000000ff800000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000000000ffff;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrlr_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000200000002;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7c00000880008000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7c00000880008000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0x0100000001000100;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0x0100000001000100;
+ __m256i_out = __lasx_xvsrlr_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000064;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000064;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000200000008;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000200000008;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000200000008;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000200000008;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffff80;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffff80;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000430207f944;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000430207f944;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000038000000268;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000038000000268;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff010ff0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffff010ff0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000201;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000201;
+ __m256i_out = __lasx_xvsrlr_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000007f0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000010006d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000080040;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000010006d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000800400010006d;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff01fb0408;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf2b180c9fc1fefdc;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff01fb0408;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf2b180c9fc1fefdc;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000000b7;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffefff80;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000b7;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffefff80;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[2]) = 0xf2b180c9fc1fefdc;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000200;
+ *((unsigned long *)&__m256i_result[0]) = 0xf2b180c9fc1fefdc;
+ __m256i_out = __lasx_xvsrlr_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000080;
+ *((unsigned long *)&__m256i_result[3]) = 0xff1cff1cff1c3fc7;
+ *((unsigned long *)&__m256i_result[2]) = 0xff1cff1cff1cff1c;
+ *((unsigned long *)&__m256i_result[1]) = 0xff1cff1cff1c3fc7;
+ *((unsigned long *)&__m256i_result[0]) = 0xff1cff1cff1cff1c;
+ __m256i_out = __lasx_xvsrlr_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_op0[2]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_op0[1]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_op1[3]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_op1[2]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_op1[1]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_op1[0]) = 0x6b6b6b6b6b6b6b6b;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000000d6d6d;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000000d6d6d;
+ __m256i_out = __lasx_xvsrlr_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000f0f0f0f0f0f0;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000f0f0f0f0f0f0;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff01ff01ff01f010;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff01ff01ff01f010;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff01ff01ff01f010;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff01ff01ff01f010;
+ *((unsigned long *)&__m256i_result[3]) = 0x000078780000f0f1;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x000078780000f0f1;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlr_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffc00040;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffc00040;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[2]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ffff0002fffd;
+ *((unsigned long *)&__m256i_op1[0]) = 0x04f104f104f504ed;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x1080108010060002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x1080108010060002;
+ __m256i_out = __lasx_xvsrlr_b (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c
new file mode 100644
index 00000000000..71f770aff8a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c
@@ -0,0 +1,416 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_d (__m256i_op0, 0x33);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000;
+ __m256i_out = __lasx_xvsrlri_w (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000001000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000001000000;
+ __m256i_out = __lasx_xvsrlri_d (__m256i_op0, 0x28);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000505;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffff0002fffefffe;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff0002ff7e8286;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffff0002fffefffe;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff0002ffff0001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0202000002020202;
+ *((unsigned long *)&__m256i_result[2]) = 0x0202000002010101;
+ *((unsigned long *)&__m256i_result[1]) = 0x0202000002020202;
+ *((unsigned long *)&__m256i_result[0]) = 0x0202000002020000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001000000010;
+ __m256i_out = __lasx_xvsrlri_w (__m256i_op0, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xe1616161e1614e60;
+ *((unsigned long *)&__m256i_op0[2]) = 0xe1616161e1614e60;
+ *((unsigned long *)&__m256i_op0[1]) = 0xe1616161e1614e60;
+ *((unsigned long *)&__m256i_op0[0]) = 0xe1616161e1614e60;
+ *((unsigned long *)&__m256i_result[3]) = 0x0703030307030203;
+ *((unsigned long *)&__m256i_result[2]) = 0x0703030307030203;
+ *((unsigned long *)&__m256i_result[1]) = 0x0703030307030203;
+ *((unsigned long *)&__m256i_result[0]) = 0x0703030307030203;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x5);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00003f3fc6c68787;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00003f3f87870000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00003f3fc6c68787;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00003f3f87870000;
+ __m256i_out = __lasx_xvsrlri_d (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0101010183f95466;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_op0[1]) = 0x01010101d58efe94;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0101010101010101;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000101000083f95;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000101000001010;
+ *((unsigned long *)&__m256i_result[1]) = 0x00001010000d58f0;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000101000001010;
+ __m256i_out = __lasx_xvsrlri_w (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000007;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001;
+ __m256i_out = __lasx_xvsrlri_w (__m256i_op0, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_d (__m256i_op0, 0x23);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffff7fffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0010002000100020;
+ *((unsigned long *)&__m256i_result[2]) = 0x0010002000100020;
+ *((unsigned long *)&__m256i_result[1]) = 0x0010002000100020;
+ *((unsigned long *)&__m256i_result[0]) = 0x0010002000100020;
+ __m256i_out = __lasx_xvsrlri_h (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_w (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_d (__m256i_op0, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000ff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_d (__m256i_op0, 0x8);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff0000ffff0001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0020002000200020;
+ *((unsigned long *)&__m256i_result[2]) = 0x0020000000200000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0020002000200020;
+ *((unsigned long *)&__m256i_result[0]) = 0x0020000000200000;
+ __m256i_out = __lasx_xvsrlri_h (__m256i_op0, 0xb);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_w (__m256i_op0, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_h (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000040000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000040000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000020000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000020000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000e000e000e000e;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000e000e000e000e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_d (__m256i_op0, 0x39);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000040000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000040000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000040000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000040000000000;
+ __m256i_out = __lasx_xvsrlri_d (__m256i_op0, 0x16);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x04e8296f18181818;
+ *((unsigned long *)&__m256i_op0[2]) = 0x132feea900000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x04e8296f18181818;
+ *((unsigned long *)&__m256i_op0[0]) = 0x132feea900000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x04e8296f18181818;
+ *((unsigned long *)&__m256i_result[2]) = 0x132feea900000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x04e8296f18181818;
+ *((unsigned long *)&__m256i_result[0]) = 0x132feea900000000;
+ __m256i_out = __lasx_xvsrlri_h (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000038000000268;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000038000000268;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff7fff7fff;
+ *((unsigned long *)&__m256i_result[3]) = 0x000001200000011a;
+ *((unsigned long *)&__m256i_result[2]) = 0x2040204020402040;
+ *((unsigned long *)&__m256i_result[1]) = 0x000001200000011a;
+ *((unsigned long *)&__m256i_result[0]) = 0x2040204020402040;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff81001dff9dff9e;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff81001dff9d003b;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff81001dff9dff9e;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff81001dff9d003b;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000001000000010;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000001000000010;
+ __m256i_out = __lasx_xvsrlri_w (__m256i_op0, 0x1c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_w (__m256i_op0, 0x9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x2);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000fffa003e;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00000000fffb009c;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000fffa003e;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00000000fffb009c;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+ __m256i_out = __lasx_xvsrlri_d (__m256i_op0, 0x1f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[3]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[2]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[1]) = 0xfffffffe00000001;
+ *((unsigned long *)&__m256i_result[0]) = 0xfffffffe00000001;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0020004000400040;
+ *((unsigned long *)&__m256i_result[2]) = 0x0020004000400040;
+ *((unsigned long *)&__m256i_result[1]) = 0x0020004000400040;
+ *((unsigned long *)&__m256i_result[0]) = 0x0020004000400040;
+ __m256i_out = __lasx_xvsrlri_h (__m256i_op0, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff0000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000800000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000800000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000800000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000800000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7fffffffffbfffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000800000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7fffffffffbfffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000800000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0102020202010202;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000010000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0102020202010202;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000010000;
+ __m256i_out = __lasx_xvsrlri_b (__m256i_op0, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000006;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000006;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0008000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0008000000000000;
+ __m256i_out = __lasx_xvsrlri_h (__m256i_op0, 0xc);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c
new file mode 100644
index 00000000000..cbc1de37178
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c
@@ -0,0 +1,410 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfffffffff328dfff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x6651bfff00000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0202020201010000;
+ __m256i_out = __lasx_xvsrlrn_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrlrn_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000050005;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000505;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x8000800080008000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x108659e46485f7e1;
+ *((unsigned long *)&__m256i_op1[2]) = 0x4df5b1a3ed5e02c1;
+ *((unsigned long *)&__m256i_op1[1]) = 0x108659e46485f7e1;
+ *((unsigned long *)&__m256i_op1[0]) = 0x4df5b1a3ed5e02c1;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000001a00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000001a00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000001a00;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000001a00;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff820002ff820002;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0002000200020002;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff820002ff820002;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00020002ff820002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00020002ff820002;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x00020421d7d41124;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x00020421d7d41124;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000f0f0f0f0;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000002;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000000ff000000ff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000000ff000000ff;
+ __m256i_out = __lasx_xvsrlrn_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffff000200000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xff00000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffff000200000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000000ff020000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000000ff020000;
+ __m256i_out = __lasx_xvsrlrn_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000001fe01fe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000001fe01fe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000ff0100;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000000007c8;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000000007c8;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x01fe01fe0000ff01;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x01fe01fe0000ff01;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op0[2]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op0[1]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op0[0]) = 0xf9f9f9f9f9f9f9f9;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xf9f9f9f900000002;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xf9f9f9f900000002;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000ff0100ff0000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ff01;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000004843ffdff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000004843ffdff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x8000000080000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00043fff00000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00043fff00000000;
+ __m256i_out = __lasx_xvsrlrn_b_h (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrn_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0xff1cff1b00e300e4;
+ *((unsigned long *)&__m256i_op1[2]) = 0xff1cff1b00e300e4;
+ *((unsigned long *)&__m256i_op1[1]) = 0xff1cff1b00e300e4;
+ *((unsigned long *)&__m256i_op1[0]) = 0xff1cff1b00e30100;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0020000000200000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x002000000020ffff;
+ __m256i_out = __lasx_xvsrlrn_h_w (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffdbff980038ffaf;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffafffe80004fff1;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffdbff980038ffaf;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffafffe80004fff1;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000020202020202;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000020202020202;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0101000000010000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x000e3fec0004fff1;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x000e3fec0004fff1;
+ __m256i_out = __lasx_xvsrlrn_w_d (__m256i_op0, __m256i_op1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c
new file mode 100644
index 00000000000..8fc7a0029d8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c
@@ -0,0 +1,455 @@
+/* { dg-do run } */
+/* { dg-options "-mlasx -w -fno-strict-aliasing" } */
+#include "../simd_correctness_check.h"
+#include <lasxintrin.h>
+
+int
+main ()
+{
+ __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result;
+ __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result;
+ __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result;
+
+ int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail;
+ long int long_op0, long_op1, long_op2, lont_out, lont_result;
+ long int long_int_out, long_int_result;
+ unsigned int unsigned_int_out, unsigned_int_result;
+ unsigned long int unsigned_long_int_out, unsigned_long_int_result;
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000020;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000020;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x7a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0100010001000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0100010001000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0001000100010001;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000808000008080;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000808000008081;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000081;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x68);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00000000002a5429;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000002a5429;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x30);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000801380f380fe;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000801380f300fb;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00000000007f3a40;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x42);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x56);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff0000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xf0000000f0000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xf0000000f0000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0020002000200020;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0020002000200020;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_h_w (__m256i_op0, __m256i_op1, 0x1b);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0404040404040404;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0404040404040404;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op0[2]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op0[0]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op1[2]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_op1[1]) = 0x00000000000000fe;
+ *((unsigned long *)&__m256i_op1[0]) = 0x817f11ed81800ff0;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000004fc480040;
+ *((unsigned long *)&__m256i_result[2]) = 0x00000004fc480040;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000004fc480040;
+ *((unsigned long *)&__m256i_result[0]) = 0x00000004fc480040;
+ __m256i_out = __lasx_xvsrlrni_h_w (__m256i_op0, __m256i_op1, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff0000ffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000000000ffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0004000404040404;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000400000004;
+ *((unsigned long *)&__m256i_result[1]) = 0x0004000400000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000400000004;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0xe);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_h_w (__m256i_op0, __m256i_op1, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0x1);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x80208020c22080a7;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x80208020c22080a7;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xdf80ff20df80ff20;
+ *((unsigned long *)&__m256i_op1[2]) = 0xdfc2ff20df80ffa7;
+ *((unsigned long *)&__m256i_op1[1]) = 0xdf80ff20df80ff20;
+ *((unsigned long *)&__m256i_op1[0]) = 0xdfc2ff20df80ffa7;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000840100000000;
+ *((unsigned long *)&__m256i_result[2]) = 0xbffebffec0febfff;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000840100000000;
+ *((unsigned long *)&__m256i_result[0]) = 0xbffebffec0febfff;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffc0c0ffffbfc0;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffc0c0ffffbfc0;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x00003f3f0000400d;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x00003f3f0000400d;
+ *((unsigned long *)&__m256i_result[3]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x44);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000000ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x1000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffe00000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffe00000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x13);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfc00000000000048;
+ *((unsigned long *)&__m256i_op0[1]) = 0x3ff0000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfc00000000000048;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xbfffa004fffd8000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xbfffa004fffd8000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00003f0000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x00002fffe8013fff;
+ *((unsigned long *)&__m256i_result[1]) = 0x00003f0000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x00002fffe8013fff;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x12);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0x3);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000080800000808;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000080800000808;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000101000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000101000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x1f);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op0[2]) = 0xff00010001000100;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0100010001000100;
+ *((unsigned long *)&__m256i_op0[0]) = 0xff00010001000100;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000040004000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000004000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000040004000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000004000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x5a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0xf);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00b2fe28e4420609;
+ *((unsigned long *)&__m256i_op0[2]) = 0x028da7fe15020000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00b2fe28e4420609;
+ *((unsigned long *)&__m256i_op0[0]) = 0x028da7fe15020000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000598;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000598;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0x6d);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000800000010;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000800000010;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000002000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000002000000;
+ __m256i_out = __lasx_xvsrlrni_d_q (__m256i_op0, __m256i_op1, 0xa);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x00000003ffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0001ffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0x00000003ffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0001ffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x000000010000005e;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x000000010000005e;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_w_d (__m256i_op0, __m256i_op1, 0x3c);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffff00000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x0040000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0040000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0040000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0040000000000000;
+ __m256i_out = __lasx_xvsrlrni_w_d (__m256i_op0, __m256i_op1, 0x2a);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000001200000012;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000001200000012;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000001200000012;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000001200000012;
+ *((unsigned long *)&__m256i_op1[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0x7);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[2]) = 0xfff0fff0fff0fc00;
+ *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op0[0]) = 0xfff0fff0fff0fc00;
+ *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0xffffffffff000000;
+ *((unsigned long *)&__m256i_result[3]) = 0x00000000f880f87e;
+ *((unsigned long *)&__m256i_result[2]) = 0x0000000000008000;
+ *((unsigned long *)&__m256i_result[1]) = 0x00000000f880f87e;
+ *((unsigned long *)&__m256i_result[0]) = 0x0000000000008000;
+ __m256i_out = __lasx_xvsrlrni_h_w (__m256i_op0, __m256i_op1, 0x9);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0x000081220000812c;
+ *((unsigned long *)&__m256i_op0[2]) = 0x0000812000008120;
+ *((unsigned long *)&__m256i_op0[1]) = 0x000081220000812c;
+ *((unsigned long *)&__m256i_op0[0]) = 0x0000812000008120;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7f7f7f7f7f7f7f7f;
+ *((unsigned long *)&__m256i_result[3]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[2]) = 0xfefefefefefefefe;
+ *((unsigned long *)&__m256i_result[1]) = 0x0005000500050005;
+ *((unsigned long *)&__m256i_result[0]) = 0xfefefefefefefefe;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0x6);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_op1[3]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op1[2]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op1[1]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_op1[0]) = 0x7fffffff80000000;
+ *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[2]) = 0xffff0000ffff0000;
+ *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff;
+ *((unsigned long *)&__m256i_result[0]) = 0xffff0000ffff0000;
+ __m256i_out = __lasx_xvsrlrni_b_h (__m256i_op0, __m256i_op1, 0x0);
+ ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out);
+
+ return 0;
+}
--
2.20.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re:[pushed] [PATCH v4 00/22] Added support for ASX vector instructions.
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
` (7 preceding siblings ...)
2023-09-13 3:38 ` [PATCH v4 08/22] LoongArch: Add tests for ASX vector xvsll/xvsrl instructions Xiaolong Chen
@ 2023-09-14 0:51 ` chenglulu
8 siblings, 0 replies; 10+ messages in thread
From: chenglulu @ 2023-09-14 0:51 UTC (permalink / raw)
To: Xiaolong Chen, gcc-patches; +Cc: xry111, i, xuchenghua
Pushed to r14-3951.
在 2023/9/13 上午11:38, Xiaolong Chen 写道:
> In order to better test the function of the vector instruction, the 256
> bit test cases are further split according to the function of the instruction.
>
>
> Xiaolong Chen (22):
> LoongArch: Add tests for ASX vector xvadd/xvadda/xvaddi/xvaddwev/
> xvaddwodxvsadd instructions.
> LoongArch: Add tests for ASX vector xvhadd/xvhaddw/xvmaddwev/xvmaddwod
> instructions.
> LoongArch: Add tests for ASX vector subtraction instructions.
> LoongArch: Add tests for ASX vector xvmul/xvmod/xvdiv instructions.
> LoongArch: Add tests for ASX vector xvmax/xvmaxi/xvmin/xvmini
> instructions.
> LoongArch: Add tests for ASX vector
> xvldi/xvmskgez/xvmskltz/xvmsknz/xvmuh /xvsigncov instructions.
> LoongArch: Add tests for ASX vector xvand/xvandi/xvandn/xvor/xvori/
> xvnor/xvnori/xvxor/xvxori instructions.
> LoongArch: Add tests for ASX vector xvsll/xvsrl instructions.
> LoongArch: Add tests for ASX vector xvextl/xvsra/xvsran/xvsrarn
> instructions.
> LoongArch: Add tests for ASX vector
> xvssran/xvssrani/xvssrarn/xvssrarni/xvssrln/
> xvssrlni/xvssrlrn/xvssrlrni instructions.
> LoongArch: Add tests for ASX vector
> xvbitclr/xvbitclri/xvbitrev/xvbitrevi/
> xvbitsel/xvbitseli/xvbitset/xvbitseti/xvclo/xvclz/xvpcnt
> instructions.
> LoongArch: Add tests for ASX builtin functions.
> LoongArch: Add tests for ASX xvldrepl/xvstelm instruction generation.
> LoongArch: Add tests for ASX vector floating-point operation
> instruction.
> LoongArch: Add tests for ASX vector floating-point conversion
> instruction.
> LoongArch: Add tests for ASX vector comparison and selection
> instruction.
> LoongArch: Add tests for ASX vector xvfnmadd/xvfrstp/xvfstpi/xvhsubw/
> xvmsub/xvrotr/xvrotri/xvld/xvst instructions.
> LoongArch: Add tests for ASX vector
> xvabsd/xvavg/xvavgr/xvbsll/xvbsrl/xvneg/ xvsat instructions.
> LoongArch: Add tests for ASX vector
> xvfcmp{caf/ceq/cle/clt/cne/cor/cun} instructions.
> LoongArch: Add tests for ASX vector
> xvfcmp{saf/seq/sle/slt/sne/sor/sun} instructions.
> LoongArch: Add tests for ASX vector
> xvext2xv/xvexth/xvextins/xvilvh/xvilvl/xvinsgr2vr/
> xvinsve0/xvprem/xvpremi instructions.
> LoongArch: Add tests for ASX vector
> xvpackev/xvpackod/xvpickev/xvpickod/
> xvpickve2gr/xvreplgr2vr/xvreplve/xvreplve0/xvreplvei/xvshuf4i/xvshuf
> instructions.
>
> .../loongarch/vector/lasx/lasx-builtin.c | 1509 ++++++++++++++++
> .../loongarch/vector/lasx/lasx-xvabsd-1.c | 485 +++++
> .../loongarch/vector/lasx/lasx-xvabsd-2.c | 650 +++++++
> .../loongarch/vector/lasx/lasx-xvadd.c | 725 ++++++++
> .../loongarch/vector/lasx/lasx-xvadda.c | 785 ++++++++
> .../loongarch/vector/lasx/lasx-xvaddi.c | 427 +++++
> .../loongarch/vector/lasx/lasx-xvaddwev-1.c | 740 ++++++++
> .../loongarch/vector/lasx/lasx-xvaddwev-2.c | 485 +++++
> .../loongarch/vector/lasx/lasx-xvaddwev-3.c | 515 ++++++
> .../loongarch/vector/lasx/lasx-xvaddwod-1.c | 530 ++++++
> .../loongarch/vector/lasx/lasx-xvaddwod-2.c | 560 ++++++
> .../loongarch/vector/lasx/lasx-xvaddwod-3.c | 485 +++++
> .../loongarch/vector/lasx/lasx-xvand.c | 155 ++
> .../loongarch/vector/lasx/lasx-xvandi.c | 196 ++
> .../loongarch/vector/lasx/lasx-xvandn.c | 125 ++
> .../loongarch/vector/lasx/lasx-xvavg-1.c | 680 +++++++
> .../loongarch/vector/lasx/lasx-xvavg-2.c | 560 ++++++
> .../loongarch/vector/lasx/lasx-xvavgr-1.c | 770 ++++++++
> .../loongarch/vector/lasx/lasx-xvavgr-2.c | 650 +++++++
> .../loongarch/vector/lasx/lasx-xvbitclr.c | 635 +++++++
> .../loongarch/vector/lasx/lasx-xvbitclri.c | 515 ++++++
> .../loongarch/vector/lasx/lasx-xvbitrev.c | 650 +++++++
> .../loongarch/vector/lasx/lasx-xvbitrevi.c | 317 ++++
> .../loongarch/vector/lasx/lasx-xvbitsel.c | 134 ++
> .../loongarch/vector/lasx/lasx-xvbitseli.c | 185 ++
> .../loongarch/vector/lasx/lasx-xvbitset.c | 620 +++++++
> .../loongarch/vector/lasx/lasx-xvbitseti.c | 405 +++++
> .../loongarch/vector/lasx/lasx-xvbsll_v.c | 130 ++
> .../loongarch/vector/lasx/lasx-xvbsrl_v.c | 64 +
> .../loongarch/vector/lasx/lasx-xvclo.c | 449 +++++
> .../loongarch/vector/lasx/lasx-xvclz.c | 504 ++++++
> .../loongarch/vector/lasx/lasx-xvdiv-1.c | 485 +++++
> .../loongarch/vector/lasx/lasx-xvdiv-2.c | 500 ++++++
> .../loongarch/vector/lasx/lasx-xvext2xv-1.c | 515 ++++++
> .../loongarch/vector/lasx/lasx-xvext2xv-2.c | 669 +++++++
> .../loongarch/vector/lasx/lasx-xvexth-1.c | 350 ++++
> .../loongarch/vector/lasx/lasx-xvexth-2.c | 592 ++++++
> .../loongarch/vector/lasx/lasx-xvextl-1.c | 86 +
> .../loongarch/vector/lasx/lasx-xvextl-2.c | 163 ++
> .../loongarch/vector/lasx/lasx-xvextrins.c | 515 ++++++
> .../loongarch/vector/lasx/lasx-xvfadd_d.c | 545 ++++++
> .../loongarch/vector/lasx/lasx-xvfadd_s.c | 911 ++++++++++
> .../loongarch/vector/lasx/lasx-xvfclass_d.c | 152 ++
> .../loongarch/vector/lasx/lasx-xvfclass_s.c | 95 +
> .../loongarch/vector/lasx/lasx-xvfcmp_caf_s.c | 446 +++++
> .../loongarch/vector/lasx/lasx-xvfcmp_ceq_s.c | 977 ++++++++++
> .../loongarch/vector/lasx/lasx-xvfcmp_cle_s.c | 759 ++++++++
> .../loongarch/vector/lasx/lasx-xvfcmp_clt_s.c | 675 +++++++
> .../loongarch/vector/lasx/lasx-xvfcmp_cne_s.c | 872 +++++++++
> .../loongarch/vector/lasx/lasx-xvfcmp_cor_s.c | 340 ++++
> .../loongarch/vector/lasx/lasx-xvfcmp_cun_s.c | 361 ++++
> .../loongarch/vector/lasx/lasx-xvfcmp_saf_s.c | 424 +++++
> .../loongarch/vector/lasx/lasx-xvfcmp_seq_s.c | 924 ++++++++++
> .../loongarch/vector/lasx/lasx-xvfcmp_sle_s.c | 627 +++++++
> .../loongarch/vector/lasx/lasx-xvfcmp_slt_s.c | 1212 +++++++++++++
> .../loongarch/vector/lasx/lasx-xvfcmp_sne_s.c | 756 ++++++++
> .../loongarch/vector/lasx/lasx-xvfcmp_sor_s.c | 438 +++++
> .../loongarch/vector/lasx/lasx-xvfcmp_sun_s.c | 363 ++++
> .../loongarch/vector/lasx/lasx-xvfcvt.c | 528 ++++++
> .../loongarch/vector/lasx/lasx-xvfcvth.c | 485 +++++
> .../loongarch/vector/lasx/lasx-xvffint-1.c | 375 ++++
> .../loongarch/vector/lasx/lasx-xvffint-2.c | 246 +++
> .../loongarch/vector/lasx/lasx-xvffinth.c | 262 +++
> .../loongarch/vector/lasx/lasx-xvflogb_d.c | 86 +
> .../loongarch/vector/lasx/lasx-xvflogb_s.c | 115 ++
> .../loongarch/vector/lasx/lasx-xvfmadd_d.c | 382 ++++
> .../loongarch/vector/lasx/lasx-xvfmadd_s.c | 720 ++++++++
> .../loongarch/vector/lasx/lasx-xvfmax_d.c | 230 +++
> .../loongarch/vector/lasx/lasx-xvfmax_s.c | 560 ++++++
> .../loongarch/vector/lasx/lasx-xvfmaxa_d.c | 230 +++
> .../loongarch/vector/lasx/lasx-xvfmaxa_s.c | 506 ++++++
> .../loongarch/vector/lasx/lasx-xvfnmadd_d.c | 324 ++++
> .../loongarch/vector/lasx/lasx-xvfnmadd_s.c | 895 ++++++++++
> .../loongarch/vector/lasx/lasx-xvfrint_d.c | 429 +++++
> .../loongarch/vector/lasx/lasx-xvfrint_s.c | 723 ++++++++
> .../loongarch/vector/lasx/lasx-xvfrstp.c | 381 ++++
> .../loongarch/vector/lasx/lasx-xvfrstpi.c | 350 ++++
> .../loongarch/vector/lasx/lasx-xvfsqrt_d.c | 482 +++++
> .../loongarch/vector/lasx/lasx-xvfsqrt_s.c | 457 +++++
> .../loongarch/vector/lasx/lasx-xvftint-1.c | 471 +++++
> .../loongarch/vector/lasx/lasx-xvftint-2.c | 1565 ++++++++++++++++
> .../loongarch/vector/lasx/lasx-xvftint-3.c | 511 ++++++
> .../loongarch/vector/lasx/lasx-xvftintl.c | 1580 +++++++++++++++++
> .../loongarch/vector/lasx/lasx-xvhaddw-1.c | 560 ++++++
> .../loongarch/vector/lasx/lasx-xvhaddw-2.c | 650 +++++++
> .../loongarch/vector/lasx/lasx-xvhsubw-1.c | 620 +++++++
> .../loongarch/vector/lasx/lasx-xvhsubw-2.c | 545 ++++++
> .../loongarch/vector/lasx/lasx-xvilvh.c | 530 ++++++
> .../loongarch/vector/lasx/lasx-xvilvl.c | 620 +++++++
> .../loongarch/vector/lasx/lasx-xvinsgr2vr.c | 272 +++
> .../loongarch/vector/lasx/lasx-xvinsve0.c | 380 ++++
> .../loongarch/vector/lasx/lasx-xvld.c | 86 +
> .../loongarch/vector/lasx/lasx-xvldi.c | 83 +
> .../loongarch/vector/lasx/lasx-xvldrepl.c | 16 +
> .../loongarch/vector/lasx/lasx-xvmadd.c | 742 ++++++++
> .../loongarch/vector/lasx/lasx-xvmaddwev-1.c | 856 +++++++++
> .../loongarch/vector/lasx/lasx-xvmaddwev-2.c | 723 ++++++++
> .../loongarch/vector/lasx/lasx-xvmaddwev-3.c | 940 ++++++++++
> .../loongarch/vector/lasx/lasx-xvmaddwod-1.c | 742 ++++++++
> .../loongarch/vector/lasx/lasx-xvmaddwod-2.c | 799 +++++++++
> .../loongarch/vector/lasx/lasx-xvmaddwod-3.c | 820 +++++++++
> .../loongarch/vector/lasx/lasx-xvmax-1.c | 545 ++++++
> .../loongarch/vector/lasx/lasx-xvmax-2.c | 560 ++++++
> .../loongarch/vector/lasx/lasx-xvmaxi-1.c | 471 +++++
> .../loongarch/vector/lasx/lasx-xvmaxi-2.c | 504 ++++++
> .../loongarch/vector/lasx/lasx-xvmin-1.c | 575 ++++++
> .../loongarch/vector/lasx/lasx-xvmin-2.c | 680 +++++++
> .../loongarch/vector/lasx/lasx-xvmini-1.c | 416 +++++
> .../loongarch/vector/lasx/lasx-xvmini-2.c | 284 +++
> .../loongarch/vector/lasx/lasx-xvmod-1.c | 395 +++++
> .../loongarch/vector/lasx/lasx-xvmod-2.c | 410 +++++
> .../loongarch/vector/lasx/lasx-xvmskgez.c | 86 +
> .../loongarch/vector/lasx/lasx-xvmskltz.c | 373 ++++
> .../loongarch/vector/lasx/lasx-xvmsknz.c | 163 ++
> .../loongarch/vector/lasx/lasx-xvmsub.c | 647 +++++++
> .../loongarch/vector/lasx/lasx-xvmuh-1.c | 650 +++++++
> .../loongarch/vector/lasx/lasx-xvmuh-2.c | 635 +++++++
> .../loongarch/vector/lasx/lasx-xvmul.c | 620 +++++++
> .../loongarch/vector/lasx/lasx-xvmulwev-1.c | 590 ++++++
> .../loongarch/vector/lasx/lasx-xvmulwev-2.c | 590 ++++++
> .../loongarch/vector/lasx/lasx-xvmulwev-3.c | 605 +++++++
> .../loongarch/vector/lasx/lasx-xvmulwod-1.c | 545 ++++++
> .../loongarch/vector/lasx/lasx-xvmulwod-2.c | 470 +++++
> .../loongarch/vector/lasx/lasx-xvmulwod-3.c | 440 +++++
> .../loongarch/vector/lasx/lasx-xvneg.c | 526 ++++++
> .../loongarch/vector/lasx/lasx-xvnor.c | 170 ++
> .../loongarch/vector/lasx/lasx-xvnori.c | 152 ++
> .../loongarch/vector/lasx/lasx-xvor.c | 215 +++
> .../loongarch/vector/lasx/lasx-xvori.c | 141 ++
> .../loongarch/vector/lasx/lasx-xvorn.c | 245 +++
> .../loongarch/vector/lasx/lasx-xvpackev.c | 501 ++++++
> .../loongarch/vector/lasx/lasx-xvpackod.c | 575 ++++++
> .../loongarch/vector/lasx/lasx-xvpcnt.c | 526 ++++++
> .../loongarch/vector/lasx/lasx-xvpickev.c | 515 ++++++
> .../loongarch/vector/lasx/lasx-xvpickod.c | 530 ++++++
> .../loongarch/vector/lasx/lasx-xvpickve.c | 130 ++
> .../loongarch/vector/lasx/lasx-xvpickve2gr.c | 388 ++++
> .../loongarch/vector/lasx/lasx-xvprem.c | 20 +
> .../loongarch/vector/lasx/lasx-xvpremi.c | 20 +
> .../loongarch/vector/lasx/lasx-xvreplgr2vr.c | 380 ++++
> .../loongarch/vector/lasx/lasx-xvreplve.c | 536 ++++++
> .../loongarch/vector/lasx/lasx-xvreplve0.c | 471 +++++
> .../loongarch/vector/lasx/lasx-xvreplvei.c | 20 +
> .../loongarch/vector/lasx/lasx-xvrotr.c | 530 ++++++
> .../loongarch/vector/lasx/lasx-xvrotri.c | 394 ++++
> .../loongarch/vector/lasx/lasx-xvsadd-1.c | 650 +++++++
> .../loongarch/vector/lasx/lasx-xvsadd-2.c | 350 ++++
> .../loongarch/vector/lasx/lasx-xvsat-1.c | 537 ++++++
> .../loongarch/vector/lasx/lasx-xvsat-2.c | 427 +++++
> .../loongarch/vector/lasx/lasx-xvseq.c | 650 +++++++
> .../loongarch/vector/lasx/lasx-xvseqi.c | 449 +++++
> .../loongarch/vector/lasx/lasx-xvshuf4i_b.c | 430 +++++
> .../loongarch/vector/lasx/lasx-xvshuf_b.c | 761 ++++++++
> .../loongarch/vector/lasx/lasx-xvsigncov.c | 665 +++++++
> .../loongarch/vector/lasx/lasx-xvsle-1.c | 575 ++++++
> .../loongarch/vector/lasx/lasx-xvsle-2.c | 590 ++++++
> .../loongarch/vector/lasx/lasx-xvslei-1.c | 515 ++++++
> .../loongarch/vector/lasx/lasx-xvslei-2.c | 438 +++++
> .../loongarch/vector/lasx/lasx-xvsll.c | 425 +++++
> .../loongarch/vector/lasx/lasx-xvslli.c | 416 +++++
> .../loongarch/vector/lasx/lasx-xvsllwil-1.c | 339 ++++
> .../loongarch/vector/lasx/lasx-xvsllwil-2.c | 350 ++++
> .../loongarch/vector/lasx/lasx-xvslt-1.c | 455 +++++
> .../loongarch/vector/lasx/lasx-xvslt-2.c | 620 +++++++
> .../loongarch/vector/lasx/lasx-xvslti-1.c | 548 ++++++
> .../loongarch/vector/lasx/lasx-xvslti-2.c | 416 +++++
> .../loongarch/vector/lasx/lasx-xvsra.c | 545 ++++++
> .../loongarch/vector/lasx/lasx-xvsrai.c | 504 ++++++
> .../loongarch/vector/lasx/lasx-xvsran.c | 455 +++++
> .../loongarch/vector/lasx/lasx-xvsrani.c | 545 ++++++
> .../loongarch/vector/lasx/lasx-xvsrar.c | 725 ++++++++
> .../loongarch/vector/lasx/lasx-xvsrari.c | 471 +++++
> .../loongarch/vector/lasx/lasx-xvsrarn.c | 500 ++++++
> .../loongarch/vector/lasx/lasx-xvsrarni.c | 636 +++++++
> .../loongarch/vector/lasx/lasx-xvsrl.c | 650 +++++++
> .../loongarch/vector/lasx/lasx-xvsrli.c | 405 +++++
> .../loongarch/vector/lasx/lasx-xvsrln.c | 425 +++++
> .../loongarch/vector/lasx/lasx-xvsrlni.c | 680 +++++++
> .../loongarch/vector/lasx/lasx-xvsrlr.c | 515 ++++++
> .../loongarch/vector/lasx/lasx-xvsrlri.c | 416 +++++
> .../loongarch/vector/lasx/lasx-xvsrlrn.c | 410 +++++
> .../loongarch/vector/lasx/lasx-xvsrlrni.c | 455 +++++
> .../loongarch/vector/lasx/lasx-xvssran.c | 905 ++++++++++
> .../loongarch/vector/lasx/lasx-xvssrani.c | 1235 +++++++++++++
> .../loongarch/vector/lasx/lasx-xvssrarn.c | 905 ++++++++++
> .../loongarch/vector/lasx/lasx-xvssrarni.c | 1160 ++++++++++++
> .../loongarch/vector/lasx/lasx-xvssrln.c | 965 ++++++++++
> .../loongarch/vector/lasx/lasx-xvssrlni.c | 1130 ++++++++++++
> .../loongarch/vector/lasx/lasx-xvssrlrn.c | 815 +++++++++
> .../loongarch/vector/lasx/lasx-xvssrlrni.c | 1160 ++++++++++++
> .../loongarch/vector/lasx/lasx-xvssub-1.c | 425 +++++
> .../loongarch/vector/lasx/lasx-xvssub-2.c | 695 ++++++++
> .../loongarch/vector/lasx/lasx-xvst.c | 102 ++
> .../loongarch/vector/lasx/lasx-xvstelm.c | 14 +
> .../loongarch/vector/lasx/lasx-xvsub.c | 590 ++++++
> .../loongarch/vector/lasx/lasx-xvsubi.c | 482 +++++
> .../loongarch/vector/lasx/lasx-xvsubwev-1.c | 530 ++++++
> .../loongarch/vector/lasx/lasx-xvsubwev-2.c | 440 +++++
> .../loongarch/vector/lasx/lasx-xvsubwod-1.c | 695 ++++++++
> .../loongarch/vector/lasx/lasx-xvsubwod-2.c | 620 +++++++
> .../loongarch/vector/lasx/lasx-xvxor.c | 185 ++
> .../loongarch/vector/lasx/lasx-xvxori.c | 163 ++
> 202 files changed, 103667 insertions(+)
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-builtin.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadd.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvadda.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddi.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvand.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandi.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvandn.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitset.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclo.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvclz.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextl-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextl-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvextrins.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_caf_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_ceq_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cle_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_clt_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cne_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cor_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cun_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvh.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvilvl.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvld.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldi.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvldrepl.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmadd.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmsub.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmul.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvneg.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnor.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvnori.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvor.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvori.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvorn.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackev.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpackod.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickev.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickod.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvprem.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpremi.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotr.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvrotri.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseq.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvseqi.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsll.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslli.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsra.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrai.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsran.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrani.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrar.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrari.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrarn.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrarni.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrl.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrli.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrln.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssran.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrani.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrln.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvst.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvstelm.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsub.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubi.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxor.c
> create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxori.c
>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-09-14 0:51 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-13 3:38 [PATCH v4 00/22] Added support for ASX vector instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 01/22] LoongArch: Add tests for ASX vector xvadd/xvadda/xvaddi/xvaddwev/ xvaddwodxvsadd instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 02/22] LoongArch: Add tests for ASX vector xvhadd/xvhaddw/xvmaddwev/xvmaddwod instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 03/22] LoongArch: Add tests for ASX vector subtraction instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 04/22] LoongArch: Add tests for ASX vector xvmul/xvmod/xvdiv instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 05/22] LoongArch: Add tests for ASX vector xvmax/xvmaxi/xvmin/xvmini instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 06/22] LoongArch: Add tests for ASX vector xvldi/xvmskgez/xvmskltz/xvmsknz/xvmuh /xvsigncov instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 07/22] LoongArch: Add tests for ASX vector xvand/xvandi/xvandn/xvor/xvori/ xvnor/xvnori/xvxor/xvxori instructions Xiaolong Chen
2023-09-13 3:38 ` [PATCH v4 08/22] LoongArch: Add tests for ASX vector xvsll/xvsrl instructions Xiaolong Chen
2023-09-14 0:51 ` Re:[pushed] [PATCH v4 00/22] Added support for ASX vector instructions chenglulu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).