Add gcc.target/loongarch/la64 directory.
gcc/testsuite/ChangeLog:
* g++.target/loongarch/bytepick.C: Skip on LA32.
* g++.target/loongarch/got-load.C: Likewise.
* g++.target/loongarch/pr106828.C: Likewise.
* g++.target/loongarch/vect-ashr-lshr.C: Add loongarch_asx check.
* gcc.dg/ifcvt-4.c: Skip on LA32.
* gcc.dg/stack-usage-1.c: Change __loongarch_lp64 to __loongarch__.
* gcc.dg/tree-ssa/gen-vect-2.c: Skip on LoongArch.
* gcc.dg/tree-ssa/gen-vect-25.c: Likewise.
* gcc.dg/tree-ssa/pr83403-1.c: Add dg-additional-options.
* gcc.dg/tree-ssa/pr83403-2.c: Likewise.
* gcc.target/loongarch/float-load.c: Add hard_float check.
* gcc.target/loongarch/larch-builtin.c: Skip some check on LA32.
* gcc.target/loongarch/pr115752.c: Add hard_float check.
* gcc.target/loongarch/vector/loongarch-vector.exp: Add
check_effective_target_loongarch_sx.
* lib/target-supports.exp: Add hard float condition to
check_effective_target_scalar_all_fma.
Disable loongarch for check_effective_target_vect_cmdline_needed.
Add check_effective_target_loongarch_sx condition to
check_vect_support_and_set_flags.
* gcc.target/loongarch/la64/la64.exp: New test.
---
gcc/testsuite/g++.target/loongarch/bytepick.C | 2 +-
gcc/testsuite/g++.target/loongarch/got-load.C | 2 +-
gcc/testsuite/g++.target/loongarch/pr106828.C | 2 +-
.../g++.target/loongarch/vect-ashr-lshr.C | 1 +
gcc/testsuite/gcc.dg/ifcvt-4.c | 2 +-
gcc/testsuite/gcc.dg/stack-usage-1.c | 2 +-
gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c | 2 -
gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c | 2 -
gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c | 2 +-
gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c | 2 +-
.../gcc.target/loongarch/float-load.c | 1 +
.../loongarch/{ => la64}/add-const.c | 0
.../loongarch/{ => la64}/alsl-cost.c | 0
.../gcc.target/loongarch/{ => la64}/alsl_wu.c | 0
.../{ => la64}/and-large-immediate-opt.c | 0
.../loongarch/{ => la64}/arch-func-attr-1.c | 0
.../loongarch/{ => la64}/arch-pragma-attr-1.c | 0
.../loongarch/{ => la64}/attr-model-1.c | 0
.../loongarch/{ => la64}/attr-model-2.c | 0
.../loongarch/{ => la64}/attr-model-3.c | 0
.../loongarch/{ => la64}/attr-model-4.c | 0
.../loongarch/{ => la64}/attr-model-5.c | 0
.../loongarch/{ => la64}/attr-model-diag.c | 0
.../loongarch/{ => la64}/attr-model-test.c | 0
.../loongarch/{ => la64}/bitint-alignments.c | 0
.../loongarch/{ => la64}/bitint-args.c | 0
.../loongarch/{ => la64}/bitint-sizes.c | 0
.../{ => la64}/bitwise-shift-reassoc.c | 0
.../loongarch/{ => la64}/bitwise_extend.c | 0
.../loongarch/{ => la64}/bstrins-1.c | 0
.../loongarch/{ => la64}/bstrins-2.c | 0
.../loongarch/{ => la64}/bstrins-3.c | 0
.../loongarch/{ => la64}/bstrins-4.c | 0
.../{ => la64}/bstrpick_alsl_paired.c | 0
.../loongarch/{ => la64}/bytepick_combine.c | 0
.../loongarch/{ => la64}/bytepick_shift_128.c | 0
.../loongarch/{ => la64}/can_inline_1.c | 0
.../loongarch/{ => la64}/can_inline_2.c | 0
.../loongarch/{ => la64}/can_inline_3.c | 0
.../loongarch/{ => la64}/can_inline_4.c | 0
.../loongarch/{ => la64}/can_inline_5.c | 0
.../loongarch/{ => la64}/can_inline_6.c | 0
.../loongarch/{ => la64}/cmodel-extreme-1.c | 0
.../loongarch/{ => la64}/cmodel-extreme-2.c | 0
.../loongarch/{ => la64}/cmodel-func-attr-1.c | 0
.../{ => la64}/cmodel-pragma-attr-1.c | 0
.../gcc.target/loongarch/{ => la64}/cmov_ii.c | 0
.../{ => la64}/compare-both-non-zero.c | 0
.../{ => la64}/conditional-move-opt-1.c | 0
.../{ => la64}/conditional-move-opt-2.c | 0
.../{ => la64}/conditional-move-opt-3.c | 0
.../{ => la64}/const-double-zero-stx.c | 0
.../loongarch/{ => la64}/crc-sext.c | 0
.../loongarch/{ => la64}/direct-extern-1.c | 0
.../loongarch/{ => la64}/div-div32.c | 0
.../loongarch/{ => la64}/div-no-div32.c | 0
.../gcc.target/loongarch/{ => la64}/divf.c | 0
.../explicit-relocs-auto-extreme-tls-desc.c | 0
.../{ => la64}/explicit-relocs-auto-lto.c | 0
...explicit-relocs-auto-single-load-store-2.c | 0
...explicit-relocs-auto-single-load-store-3.c | 0
...-relocs-auto-single-load-store-no-anchor.c | 0
.../explicit-relocs-auto-single-load-store.c | 0
.../explicit-relocs-auto-tls-desc.c | 0
.../explicit-relocs-auto-tls-ld-gd.c | 0
.../explicit-relocs-auto-tls-le-ie.c | 0
.../explicit-relocs-extreme-auto-tls-ld-gd.c | 0
.../explicit-relocs-extreme-tls-desc.c | 0
.../explicit-relocs-medium-auto-tls-ld-gd.c | 0
...icit-relocs-medium-call36-auto-tls-ld-gd.c | 0
.../{ => la64}/explicit-relocs-tls-desc.c | 0
.../{ => la64}/extendsidi2-combine.c | 0
.../loongarch/{ => la64}/fclass-compile.c | 0
.../loongarch/{ => la64}/fclass-run.c | 0
.../gcc.target/loongarch/{ => la64}/flogb.c | 0
.../loongarch/{ => la64}/flt-abi-isa-1.c | 0
.../loongarch/{ => la64}/flt-abi-isa-2.c | 0
.../loongarch/{ => la64}/flt-abi-isa-3.c | 0
.../loongarch/{ => la64}/flt-abi-isa-4.c | 0
.../gcc.target/loongarch/{ => la64}/frint.c | 0
.../gcc.target/loongarch/{ => la64}/fscaleb.c | 0
.../loongarch/{ => la64}/ftint-no-inexact.c | 0
.../gcc.target/loongarch/{ => la64}/ftint.c | 0
.../loongarch/{ => la64}/func-call-1.c | 0
.../loongarch/{ => la64}/func-call-2.c | 0
.../loongarch/{ => la64}/func-call-3.c | 0
.../loongarch/{ => la64}/func-call-4.c | 0
.../loongarch/{ => la64}/func-call-5.c | 0
.../loongarch/{ => la64}/func-call-6.c | 0
.../loongarch/{ => la64}/func-call-7.c | 0
.../loongarch/{ => la64}/func-call-8.c | 0
.../{ => la64}/func-call-extreme-1.c | 0
.../{ => la64}/func-call-extreme-2.c | 0
.../{ => la64}/func-call-extreme-3.c | 0
.../{ => la64}/func-call-extreme-4.c | 0
.../{ => la64}/func-call-extreme-5.c | 0
.../{ => la64}/func-call-extreme-6.c | 0
.../loongarch/{ => la64}/func-call-medium-1.c | 0
.../loongarch/{ => la64}/func-call-medium-2.c | 0
.../loongarch/{ => la64}/func-call-medium-3.c | 0
.../loongarch/{ => la64}/func-call-medium-5.c | 0
.../loongarch/{ => la64}/func-call-medium-6.c | 0
.../loongarch/{ => la64}/func-call-medium-7.c | 0
.../loongarch/{ => la64}/func-call-medium-8.c | 0
.../{ => la64}/func-call-medium-call36-1.c | 0
.../{ => la64}/func-call-medium-call36.c | 0
.../loongarch/{ => la64}/imm-load.c | 0
.../loongarch/{ => la64}/imm-load1.c | 0
.../loongarch/{ => la64}/invariant-recip.c | 0
.../gcc.target/loongarch/la64/la64.exp | 40 +++++++++++
.../{ => la64}/larch-frecipe-builtin.c | 0
.../{ => la64}/larch-frecipe-intrinsic.c | 0
.../loongarch/{ => la64}/lasx-func-attr-1.c | 0
.../loongarch/{ => la64}/lasx-pragma-attr-1.c | 0
.../loongarch/{ => la64}/lsx-func-attr-1.c | 0
.../loongarch/{ => la64}/lsx-pragma-attr-1.c | 0
.../loongarch/{ => la64}/math-float-128.c | 0
.../loongarch/{ => la64}/mem-and-mask-opt.c | 0
.../loongarch/{ => la64}/memcpy-vec-1.c | 0
.../loongarch/{ => la64}/memcpy-vec-2.c | 0
.../loongarch/{ => la64}/memcpy-vec-3.c | 0
.../loongarch/{ => la64}/mode-tieable-opt.c | 0
.../loongarch/{ => la64}/mov-zero-2.c | 0
.../loongarch/{ => la64}/movcf2gr-via-fr.c | 0
.../loongarch/{ => la64}/movcf2gr.c | 0
.../{ => la64}/mul-const-reduction.c | 0
.../gcc.target/loongarch/{ => la64}/mulh_wu.c | 0
.../loongarch/{ => la64}/mulw_d_w.c | 0
.../loongarch/{ => la64}/mulw_d_wu.c | 0
.../loongarch/{ => la64}/pr109465-1.c | 0
.../loongarch/{ => la64}/pr109465-2.c | 0
.../loongarch/{ => la64}/pr109465-3.c | 0
.../loongarch/{ => la64}/pr113148.c | 0
.../loongarch/{ => la64}/pr114861.c | 0
.../loongarch/{ => la64}/pr118561.c | 0
.../loongarch/{ => la64}/pr118828-2.c | 0
.../loongarch/{ => la64}/pr118828-3.c | 0
.../loongarch/{ => la64}/pr118828-4.c | 0
.../loongarch/{ => la64}/pr118828.c | 0
.../loongarch/{ => la64}/pr118843.c | 0
.../loongarch/{ => la64}/pr119127.c | 0
.../loongarch/{ => la64}/pr121542.c | 0
.../loongarch/{ => la64}/pr121634.c | 0
.../loongarch/{ => la64}/pr121875.c | 0
.../loongarch/{ => la64}/prolog-opt.c | 0
.../loongarch/{ => la64}/recip-divf.c | 0
.../loongarch/{ => la64}/recip-sqrtf.c | 0
.../{ => la64}/relocs-symbol-noaddend.c | 0
.../gcc.target/loongarch/{ => la64}/revb.c | 0
.../loongarch/{ => la64}/rotl-with-rotr.c | 0
.../gcc.target/loongarch/{ => la64}/rotrw.c | 0
.../loongarch/{ => la64}/sign-extend-1.c | 0
.../loongarch/{ => la64}/sign-extend-2.c | 0
.../loongarch/{ => la64}/sign-extend-3.c | 0
.../loongarch/{ => la64}/sign-extend-4.c | 0
.../loongarch/{ => la64}/sign-extend-5.c | 0
.../loongarch/{ => la64}/sign-extend-6.c | 0
.../{ => la64}/sign-extend-bitwise.c | 0
.../loongarch/{ => la64}/sign_extend_ashift.c | 0
.../loongarch/{ => la64}/slt-sign-extend.c | 0
.../loongarch/{ => la64}/smuldi3_highpart.c | 0
.../loongarch/{ => la64}/spill-less.c | 0
.../gcc.target/loongarch/{ => la64}/sqrtf.c | 0
.../loongarch/{ => la64}/switch-qi.c | 0
.../loongarch/{ => la64}/tls-extreme-macro.c | 0
.../loongarch/{ => la64}/tls-gd-noplt.c | 0
.../loongarch/{ => la64}/tls-ie-extreme.c | 0
.../loongarch/{ => la64}/tls-ie-norelax.c | 0
.../loongarch/{ => la64}/tls-ie-relax.c | 0
.../loongarch/{ => la64}/tls-le-relax.c | 0
.../{ => la64}/widen-mul-rtx-cost-signed.c | 0
.../{ => la64}/widen-mul-rtx-cost-unsigned.c | 0
.../{ => la64}/zero-size-field-pass.c | 0
.../{ => la64}/zero-size-field-ret.c | 0
.../gcc.target/loongarch/larch-builtin.c | 72 ++++++++++++-------
gcc/testsuite/gcc.target/loongarch/pr115752.c | 1 +
.../loongarch/{ => vector/lasx}/abd-lasx.c | 0
.../{ => vector/lasx}/avg-ceil-lasx.c | 0
.../{ => vector/lasx}/avg-floor-lasx.c | 0
.../loongarch/{ => vector/lasx}/fnmam4-vec.c | 0
.../{ => vector/lasx}/lasx-andn-iorn.c | 0
.../lasx}/lasx-extract-even_odd-opt.c | 0
.../{ => vector/lasx}/lasx-func-attr-2.c | 0
.../{ => vector/lasx}/lasx-pragma-attr-2.c | 0
.../{ => vector/lasx}/lasx-reduc-1.c | 0
.../{ => vector/lasx}/lasx-xvpermi_q-opt.c | 0
.../loongarch/{ => vector/lasx}/pr112476-2.c | 0
.../loongarch/{ => vector/lasx}/pr112476-4.c | 0
.../loongarch/{ => vector/lasx}/pr113033.c | 0
.../{ => vector/lasx}/pragma-push-pop.c | 0
.../{ => vector/lasx}/rotl-with-xvrotr-b.c | 0
.../{ => vector/lasx}/rotl-with-xvrotr-d.c | 0
.../{ => vector/lasx}/rotl-with-xvrotr-h.c | 0
.../{ => vector/lasx}/rotl-with-xvrotr-w.c | 0
.../loongarch/{ => vector/lasx}/sad-lasx.c | 0
.../{ => vector/lasx}/strict-align.c | 0
.../{ => vector/lasx}/vec_pack_unpack_256.c | 0
.../{ => vector/lasx}/vect-extract.c | 0
.../{ => vector/lasx}/vect-frint-no-inexact.c | 0
.../loongarch/{ => vector/lasx}/vect-frint.c | 0
.../{ => vector/lasx}/vect-ftint-no-inexact.c | 0
.../loongarch/{ => vector/lasx}/vect-ftint.c | 0
.../{ => vector/lasx}/vect-ld-st-imm12.c | 0
.../loongarch/{ => vector/lasx}/vect-muh.c | 0
.../loongarch/{ => vector/lasx}/vect-rotr.c | 0
.../{ => vector/lasx}/vect-shuf-fp.c | 0
.../{ => vector/lasx}/vect-slp-two-operator.c | 0
.../{ => vector/lasx}/vect-widen-add.c | 0
.../{ => vector/lasx}/vect-widen-mul.c | 0
.../{ => vector/lasx}/vect-widen-sub.c | 0
.../loongarch/{ => vector/lasx}/vfmax-vfmin.c | 0
.../loongarch/{ => vector/lasx}/vrepli.c | 0
.../{ => vector/lasx}/wide-mul-reduc-1.c | 0
.../{ => vector/lasx}/wide-mul-reduc-2.c | 0
.../loongarch/{ => vector/lasx}/xvfcmp-d.c | 0
.../loongarch/{ => vector/lasx}/xvfcmp-f.c | 0
.../loongarch/vector/loongarch-vector.exp | 20 ++++--
.../loongarch/{ => vector/lsx}/abd-lsx.c | 0
.../loongarch/{ => vector/lsx}/avg-ceil-lsx.c | 0
.../{ => vector/lsx}/avg-floor-lsx.c | 0
.../{ => vector/lsx}/lsx-andn-iorn.c | 0
.../{ => vector/lsx}/lsx-func-attr-2.c | 0
.../{ => vector/lsx}/lsx-pragma-attr-2.c | 0
.../loongarch/{ => vector/lsx}/mov-zero-1.c | 0
.../loongarch/{ => vector/lsx}/popcnt.c | 0
.../loongarch/{ => vector/lsx}/popcount.c | 0
.../loongarch/{ => vector/lsx}/pr112476-1.c | 0
.../loongarch/{ => vector/lsx}/pr112476-3.c | 0
.../loongarch/{ => vector/lsx}/pr119084.c | 0
.../loongarch/{ => vector/lsx}/pr121064.c | 0
.../loongarch/{ => vector/lsx}/pr122097.c | 0
.../{ => vector/lsx}/rotl-with-vrotr-b.c | 0
.../{ => vector/lsx}/rotl-with-vrotr-d.c | 0
.../{ => vector/lsx}/rotl-with-vrotr-h.c | 0
.../{ => vector/lsx}/rotl-with-vrotr-w.c | 0
.../loongarch/{ => vector/lsx}/sad-lsx.c | 0
.../{ => vector/lsx}/vec_pack_unpack_128.c | 0
.../lsx}/vect-frint-scalar-no-inexact.c | 0
.../{ => vector/lsx}/vect-frint-scalar.c | 0
.../{ => vector/lsx}/vect-shift-imm-round.c | 0
.../{ => vector/lsx}/vector-func-attr-1.c | 0
.../{ => vector/lsx}/vector-pragma-attr-1.c | 0
.../loongarch/{ => vector/lsx}/vfcmp-d.c | 0
.../loongarch/{ => vector/lsx}/vfcmp-f.c | 0
.../loongarch/{ => vector/lsx}/xorsign-run.c | 0
.../loongarch/{ => vector/lsx}/xorsign.c | 0
gcc/testsuite/lib/target-supports.exp | 22 +++---
247 files changed, 123 insertions(+), 52 deletions(-)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/add-const.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/alsl-cost.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/alsl_wu.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/and-large-immediate-opt.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/arch-func-attr-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/arch-pragma-attr-1.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/attr-model-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/attr-model-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/attr-model-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/attr-model-4.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/attr-model-5.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/attr-model-diag.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/attr-model-test.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bitint-alignments.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bitint-args.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bitint-sizes.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bitwise-shift-reassoc.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bitwise_extend.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bstrins-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bstrins-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bstrins-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bstrins-4.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bstrpick_alsl_paired.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bytepick_combine.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/bytepick_shift_128.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/can_inline_1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/can_inline_2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/can_inline_3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/can_inline_4.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/can_inline_5.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/can_inline_6.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/cmodel-extreme-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/cmodel-extreme-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/cmodel-func-attr-1.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/cmodel-pragma-attr-1.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/cmov_ii.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/compare-both-non-zero.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/conditional-move-opt-1.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/conditional-move-opt-2.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/conditional-move-opt-3.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/const-double-zero-stx.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/crc-sext.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/direct-extern-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/div-div32.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/div-no-div32.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/divf.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-auto-extreme-tls-desc.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-auto-lto.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-auto-single-load-store-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-auto-single-load-store-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-auto-single-load-store-no-anchor.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-auto-single-load-store.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-auto-tls-desc.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-auto-tls-ld-gd.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-auto-tls-le-ie.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-extreme-auto-tls-ld-gd.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-extreme-tls-desc.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-medium-auto-tls-ld-gd.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-medium-call36-auto-tls-ld-gd.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/explicit-relocs-tls-desc.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/extendsidi2-combine.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/fclass-compile.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/fclass-run.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/flogb.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/flt-abi-isa-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/flt-abi-isa-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/flt-abi-isa-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/flt-abi-isa-4.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/frint.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/fscaleb.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/ftint-no-inexact.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/ftint.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-4.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-5.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-6.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-7.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-8.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-extreme-1.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-extreme-2.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-extreme-3.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-extreme-4.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-extreme-5.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-extreme-6.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-medium-1.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-medium-2.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-medium-3.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-medium-5.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-medium-6.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-medium-7.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-medium-8.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/func-call-medium-call36-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/func-call-medium-call36.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/imm-load.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/imm-load1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/invariant-recip.c (100%)
create mode 100644 gcc/testsuite/gcc.target/loongarch/la64/la64.exp
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/larch-frecipe-builtin.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/larch-frecipe-intrinsic.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/lasx-func-attr-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/lasx-pragma-attr-1.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/lsx-func-attr-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/lsx-pragma-attr-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/math-float-128.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/mem-and-mask-opt.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/memcpy-vec-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/memcpy-vec-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/memcpy-vec-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/mode-tieable-opt.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/mov-zero-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/movcf2gr-via-fr.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/movcf2gr.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/mul-const-reduction.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/mulh_wu.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/mulw_d_w.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/mulw_d_wu.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr109465-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr109465-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr109465-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr113148.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr114861.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr118561.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr118828-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr118828-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr118828-4.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr118828.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr118843.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr119127.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr121542.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr121634.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/pr121875.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/prolog-opt.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/recip-divf.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/recip-sqrtf.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/relocs-symbol-noaddend.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/revb.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/rotl-with-rotr.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/rotrw.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/sign-extend-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/sign-extend-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/sign-extend-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/sign-extend-4.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/sign-extend-5.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/sign-extend-6.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/sign-extend-bitwise.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/sign_extend_ashift.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/slt-sign-extend.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/smuldi3_highpart.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/spill-less.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/sqrtf.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/switch-qi.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/tls-extreme-macro.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/tls-gd-noplt.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/tls-ie-extreme.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/tls-ie-norelax.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/tls-ie-relax.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/tls-le-relax.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/widen-mul-rtx-cost-signed.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
la64}/widen-mul-rtx-cost-unsigned.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/zero-size-field-pass.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => la64}/zero-size-field-ret.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/abd-lasx.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/avg-ceil-lasx.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/avg-floor-lasx.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/fnmam4-vec.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/lasx-andn-iorn.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/lasx-extract-even_odd-opt.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/lasx-func-attr-2.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/lasx-pragma-attr-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/lasx-reduc-1.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/lasx-xvpermi_q-opt.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/pr112476-2.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/pr112476-4.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/pr113033.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/pragma-push-pop.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/rotl-with-xvrotr-b.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/rotl-with-xvrotr-d.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/rotl-with-xvrotr-h.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/rotl-with-xvrotr-w.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/sad-lasx.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/strict-align.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/vec_pack_unpack_256.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-extract.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/vect-frint-no-inexact.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-frint.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/vect-ftint-no-inexact.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-ftint.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-ld-st-imm12.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-muh.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-rotr.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-shuf-fp.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lasx}/vect-slp-two-operator.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-widen-add.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-widen-mul.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vect-widen-sub.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vfmax-vfmin.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/vrepli.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/wide-mul-reduc-1.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/wide-mul-reduc-2.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/xvfcmp-d.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lasx}/xvfcmp-f.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/abd-lsx.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/avg-ceil-lsx.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/avg-floor-lsx.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/lsx-andn-iorn.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/lsx-func-attr-2.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/lsx-pragma-attr-2.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/mov-zero-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/popcnt.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/popcount.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/pr112476-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/pr112476-3.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/pr119084.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/pr121064.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/pr122097.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/rotl-with-vrotr-b.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/rotl-with-vrotr-d.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/rotl-with-vrotr-h.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/rotl-with-vrotr-w.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/sad-lsx.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lsx}/vec_pack_unpack_128.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lsx}/vect-frint-scalar-no-inexact.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/vect-frint-scalar.c
(100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lsx}/vect-shift-imm-round.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lsx}/vector-func-attr-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ =>
vector/lsx}/vector-pragma-attr-1.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/vfcmp-d.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/vfcmp-f.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/xorsign-run.c (100%)
rename gcc/testsuite/gcc.target/loongarch/{ => vector/lsx}/xorsign.c (100%)
diff --git a/gcc/testsuite/g++.target/loongarch/bytepick.C
b/gcc/testsuite/g++.target/loongarch/bytepick.C
index a39e2fa65b7..8a3e54d42f9 100644
--- a/gcc/testsuite/g++.target/loongarch/bytepick.C
+++ b/gcc/testsuite/g++.target/loongarch/bytepick.C
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target { loongarch64*-*-* } } } */
/* { dg-options "-O2 -mabi=lp64d" } */
/* { dg-final { scan-assembler-times "bytepick.w\t\\\$r4,\\\$r5,\\\$r4" 3 } }
*/
/* { dg-final { scan-assembler-times "bytepick.d\t\\\$r4,\\\$r5,\\\$r4" 7 } }
*/
diff --git a/gcc/testsuite/g++.target/loongarch/got-load.C
b/gcc/testsuite/g++.target/loongarch/got-load.C
index 17870176ab4..170cc024fac 100644
--- a/gcc/testsuite/g++.target/loongarch/got-load.C
+++ b/gcc/testsuite/g++.target/loongarch/got-load.C
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target { loongarch64*-*-* } } } */
/* { dg-options "-mabi=lp64d -O2 -mexplicit-relocs -mcmodel=normal
-fdump-rtl-expand -fno-stack-protector" } */
/* { dg-final { scan-rtl-dump-times "mem/u" 2 "expand" } } */
diff --git a/gcc/testsuite/g++.target/loongarch/pr106828.C
b/gcc/testsuite/g++.target/loongarch/pr106828.C
index 0d13cbbd515..7a770ec559e 100644
--- a/gcc/testsuite/g++.target/loongarch/pr106828.C
+++ b/gcc/testsuite/g++.target/loongarch/pr106828.C
@@ -1,4 +1,4 @@
-/* { dg-do preprocess } */
+/* { dg-do preprocess { target { loongarch64*-*-* } } } */
/* { dg-options "-mabi=lp64d -fsanitize=address" } */
/* Tests whether the compiler supports compile option '-fsanitize=address'. */
diff --git a/gcc/testsuite/g++.target/loongarch/vect-ashr-lshr.C
b/gcc/testsuite/g++.target/loongarch/vect-ashr-lshr.C
index bcef985fae2..f0ceb4db255 100644
--- a/gcc/testsuite/g++.target/loongarch/vect-ashr-lshr.C
+++ b/gcc/testsuite/g++.target/loongarch/vect-ashr-lshr.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mlasx -O2" } */
+/* { dg-require-effective-target loongarch_asx } */
/* { dg-final { scan-assembler-times "vsrli.b" 2 } } */
/* { dg-final { scan-assembler-times "vsrli.h" 2 } } */
/* { dg-final { scan-assembler-times "vsrli.w" 2 } } */
diff --git a/gcc/testsuite/gcc.dg/ifcvt-4.c b/gcc/testsuite/gcc.dg/ifcvt-4.c
index 2739a8a925b..485352df6e6 100644
--- a/gcc/testsuite/gcc.dg/ifcvt-4.c
+++ b/gcc/testsuite/gcc.dg/ifcvt-4.c
@@ -2,7 +2,7 @@
/* { dg-additional-options "-misel" { target { powerpc*-*-* } } } */
/* { dg-additional-options "-march=z196" { target { s390x-*-* } } } */
/* { dg-additional-options "-mtune-ctrl=^one_if_conv_insn" { target { i?86-*-*
x86_64-*-* } } } */
-/* { dg-skip-if "Multiple set if-conversion not guaranteed on all subtargets"
{ "arm*-*-* avr-*-* cris-*-* hppa*64*-*-* visium-*-*" riscv*-*-* msp430-*-*
pru-*-* } } */
+/* { dg-skip-if "Multiple set if-conversion not guaranteed on all subtargets"
{ "arm*-*-* avr-*-* cris-*-* hppa*64*-*-* visium-*-*" riscv*-*-* msp430-*-*
pru-*-* loongarch32-*-* } } */
/* { dg-skip-if "" { { sparc*-*-* } && { ! sparc_v9 } } } */
/* { dg-skip-if "" { "s390x-*-*" } { "-m31" } } */
diff --git a/gcc/testsuite/gcc.dg/stack-usage-1.c
b/gcc/testsuite/gcc.dg/stack-usage-1.c
index 6b1981391e3..8714c57c197 100644
--- a/gcc/testsuite/gcc.dg/stack-usage-1.c
+++ b/gcc/testsuite/gcc.dg/stack-usage-1.c
@@ -103,7 +103,7 @@
# define SIZE 252
#elif defined (__CRIS__)
# define SIZE 252
-#elif defined (__loongarch_lp64)
+#elif defined (__loongarch__)
# define SIZE 240 /* 256 - 8 bytes for $fp, and 8 bytes for a temp value */
#else
# define SIZE 256
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c
b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c
index 00fc8f01991..15042fc6ddf 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c
@@ -1,8 +1,6 @@
/* { dg-do run { target vect_cmdline_needed } } */
-/* { dg-do compile { target { loongarch_sx && {! loongarch_sx_hw } } } } */
/* { dg-options "-O2 -fno-tree-loop-distribute-patterns -ftree-vectorize
-fdump-tree-vect-details -fvect-cost-model=dynamic" } */
/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
-/* { dg-additional-options "-mlsx" { target { loongarch*-*-* } } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c
b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c
index 99d5e6231ff..94709661953 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c
@@ -1,8 +1,6 @@
/* { dg-do run { target vect_cmdline_needed } } */
-/* { dg-do compile { target { loongarch_sx && {! loongarch_sx_hw } } } } */
/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details
-fvect-cost-model=dynamic" } */
/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details
-fvect-cost-model=dynamic -mno-sse" { target { i?86-*-* x86_64-*-* } } } */
-/* { dg-additional-options "-mlsx" { target { loongarch*-*-* } } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c
b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c
index 64f2bbc76fe..84646b07cab 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O3 -funroll-loops -fdump-tree-lim2-details" } */
/* { dg-additional-options "--param max-completely-peeled-insns=200" { target
{ s390*-*-* } } } */
-/* { dg-additional-options "--param max-completely-peeled-insns=300" { target
{ arm*-*-* cris-*-* m68k*-*-* } } } */
+/* { dg-additional-options "--param max-completely-peeled-insns=300" { target
{ arm*-*-* cris-*-* loongarch32-*-* m68k*-*-* } } } */
#define TYPE unsigned int
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c
b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c
index 3f520720ca2..7c830353ea1 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O3 -funroll-loops -fdump-tree-lim2-details" } */
/* { dg-additional-options "--param max-completely-peeled-insns=200" { target
{ s390*-*-* } } } */
-/* { dg-additional-options "--param max-completely-peeled-insns=300" { target
{ arm*-*-* cris-*-* m68k*-*-* } } } */
+/* { dg-additional-options "--param max-completely-peeled-insns=300" { target
{ arm*-*-* cris-*-* loongarch32*-*-* m68k*-*-* } } } */
#define TYPE int
diff --git a/gcc/testsuite/gcc.target/loongarch/float-load.c
b/gcc/testsuite/gcc.target/loongarch/float-load.c
index c757a795e21..2a7550cc5e0 100644
--- a/gcc/testsuite/gcc.target/loongarch/float-load.c
+++ b/gcc/testsuite/gcc.target/loongarch/float-load.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-require-effective-target hard_float } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler "fld\\.s" } } */
diff --git a/gcc/testsuite/gcc.target/loongarch/add-const.c
b/gcc/testsuite/gcc.target/loongarch/la64/add-const.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/add-const.c
rename to gcc/testsuite/gcc.target/loongarch/la64/add-const.c
diff --git a/gcc/testsuite/gcc.target/loongarch/alsl-cost.c
b/gcc/testsuite/gcc.target/loongarch/la64/alsl-cost.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/alsl-cost.c
rename to gcc/testsuite/gcc.target/loongarch/la64/alsl-cost.c
diff --git a/gcc/testsuite/gcc.target/loongarch/alsl_wu.c
b/gcc/testsuite/gcc.target/loongarch/la64/alsl_wu.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/alsl_wu.c
rename to gcc/testsuite/gcc.target/loongarch/la64/alsl_wu.c
diff --git a/gcc/testsuite/gcc.target/loongarch/and-large-immediate-opt.c
b/gcc/testsuite/gcc.target/loongarch/la64/and-large-immediate-opt.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/and-large-immediate-opt.c
rename to gcc/testsuite/gcc.target/loongarch/la64/and-large-immediate-opt.c
diff --git a/gcc/testsuite/gcc.target/loongarch/arch-func-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/arch-func-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/arch-func-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/arch-func-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/arch-pragma-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/arch-pragma-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/arch-pragma-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/arch-pragma-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/attr-model-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/attr-model-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/attr-model-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/attr-model-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/attr-model-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/attr-model-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/attr-model-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/attr-model-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/attr-model-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/attr-model-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/attr-model-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/attr-model-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/attr-model-4.c
b/gcc/testsuite/gcc.target/loongarch/la64/attr-model-4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/attr-model-4.c
rename to gcc/testsuite/gcc.target/loongarch/la64/attr-model-4.c
diff --git a/gcc/testsuite/gcc.target/loongarch/attr-model-5.c
b/gcc/testsuite/gcc.target/loongarch/la64/attr-model-5.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/attr-model-5.c
rename to gcc/testsuite/gcc.target/loongarch/la64/attr-model-5.c
diff --git a/gcc/testsuite/gcc.target/loongarch/attr-model-diag.c
b/gcc/testsuite/gcc.target/loongarch/la64/attr-model-diag.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/attr-model-diag.c
rename to gcc/testsuite/gcc.target/loongarch/la64/attr-model-diag.c
diff --git a/gcc/testsuite/gcc.target/loongarch/attr-model-test.c
b/gcc/testsuite/gcc.target/loongarch/la64/attr-model-test.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/attr-model-test.c
rename to gcc/testsuite/gcc.target/loongarch/la64/attr-model-test.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bitint-alignments.c
b/gcc/testsuite/gcc.target/loongarch/la64/bitint-alignments.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bitint-alignments.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bitint-alignments.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bitint-args.c
b/gcc/testsuite/gcc.target/loongarch/la64/bitint-args.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bitint-args.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bitint-args.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bitint-sizes.c
b/gcc/testsuite/gcc.target/loongarch/la64/bitint-sizes.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bitint-sizes.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bitint-sizes.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bitwise-shift-reassoc.c
b/gcc/testsuite/gcc.target/loongarch/la64/bitwise-shift-reassoc.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bitwise-shift-reassoc.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bitwise-shift-reassoc.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bitwise_extend.c
b/gcc/testsuite/gcc.target/loongarch/la64/bitwise_extend.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bitwise_extend.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bitwise_extend.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bstrins-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/bstrins-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bstrins-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bstrins-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bstrins-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/bstrins-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bstrins-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bstrins-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bstrins-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/bstrins-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bstrins-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bstrins-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bstrins-4.c
b/gcc/testsuite/gcc.target/loongarch/la64/bstrins-4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bstrins-4.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bstrins-4.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bstrpick_alsl_paired.c
b/gcc/testsuite/gcc.target/loongarch/la64/bstrpick_alsl_paired.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bstrpick_alsl_paired.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bstrpick_alsl_paired.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bytepick_combine.c
b/gcc/testsuite/gcc.target/loongarch/la64/bytepick_combine.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bytepick_combine.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bytepick_combine.c
diff --git a/gcc/testsuite/gcc.target/loongarch/bytepick_shift_128.c
b/gcc/testsuite/gcc.target/loongarch/la64/bytepick_shift_128.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/bytepick_shift_128.c
rename to gcc/testsuite/gcc.target/loongarch/la64/bytepick_shift_128.c
diff --git a/gcc/testsuite/gcc.target/loongarch/can_inline_1.c
b/gcc/testsuite/gcc.target/loongarch/la64/can_inline_1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/can_inline_1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/can_inline_1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/can_inline_2.c
b/gcc/testsuite/gcc.target/loongarch/la64/can_inline_2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/can_inline_2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/can_inline_2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/can_inline_3.c
b/gcc/testsuite/gcc.target/loongarch/la64/can_inline_3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/can_inline_3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/can_inline_3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/can_inline_4.c
b/gcc/testsuite/gcc.target/loongarch/la64/can_inline_4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/can_inline_4.c
rename to gcc/testsuite/gcc.target/loongarch/la64/can_inline_4.c
diff --git a/gcc/testsuite/gcc.target/loongarch/can_inline_5.c
b/gcc/testsuite/gcc.target/loongarch/la64/can_inline_5.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/can_inline_5.c
rename to gcc/testsuite/gcc.target/loongarch/la64/can_inline_5.c
diff --git a/gcc/testsuite/gcc.target/loongarch/can_inline_6.c
b/gcc/testsuite/gcc.target/loongarch/la64/can_inline_6.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/can_inline_6.c
rename to gcc/testsuite/gcc.target/loongarch/la64/can_inline_6.c
diff --git a/gcc/testsuite/gcc.target/loongarch/cmodel-extreme-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/cmodel-extreme-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/cmodel-extreme-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/cmodel-extreme-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/cmodel-extreme-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/cmodel-extreme-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/cmodel-extreme-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/cmodel-extreme-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/cmodel-func-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/cmodel-func-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/cmodel-func-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/cmodel-func-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/cmodel-pragma-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/cmodel-pragma-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/cmodel-pragma-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/cmodel-pragma-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/cmov_ii.c
b/gcc/testsuite/gcc.target/loongarch/la64/cmov_ii.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/cmov_ii.c
rename to gcc/testsuite/gcc.target/loongarch/la64/cmov_ii.c
diff --git a/gcc/testsuite/gcc.target/loongarch/compare-both-non-zero.c
b/gcc/testsuite/gcc.target/loongarch/la64/compare-both-non-zero.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/compare-both-non-zero.c
rename to gcc/testsuite/gcc.target/loongarch/la64/compare-both-non-zero.c
diff --git a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/conditional-move-opt-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/conditional-move-opt-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/conditional-move-opt-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/conditional-move-opt-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/conditional-move-opt-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/conditional-move-opt-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/const-double-zero-stx.c
b/gcc/testsuite/gcc.target/loongarch/la64/const-double-zero-stx.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/const-double-zero-stx.c
rename to gcc/testsuite/gcc.target/loongarch/la64/const-double-zero-stx.c
diff --git a/gcc/testsuite/gcc.target/loongarch/crc-sext.c
b/gcc/testsuite/gcc.target/loongarch/la64/crc-sext.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/crc-sext.c
rename to gcc/testsuite/gcc.target/loongarch/la64/crc-sext.c
diff --git a/gcc/testsuite/gcc.target/loongarch/direct-extern-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/direct-extern-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/direct-extern-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/direct-extern-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/div-div32.c
b/gcc/testsuite/gcc.target/loongarch/la64/div-div32.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/div-div32.c
rename to gcc/testsuite/gcc.target/loongarch/la64/div-div32.c
diff --git a/gcc/testsuite/gcc.target/loongarch/div-no-div32.c
b/gcc/testsuite/gcc.target/loongarch/la64/div-no-div32.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/div-no-div32.c
rename to gcc/testsuite/gcc.target/loongarch/la64/div-no-div32.c
diff --git a/gcc/testsuite/gcc.target/loongarch/divf.c
b/gcc/testsuite/gcc.target/loongarch/la64/divf.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/divf.c
rename to gcc/testsuite/gcc.target/loongarch/la64/divf.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-extreme-tls-desc.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-extreme-tls-desc.c
similarity index 100%
rename from
gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-extreme-tls-desc.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-extreme-tls-desc.c
diff --git a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-lto.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-lto.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-lto.c
rename to gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-lto.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-single-load-store-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store-2.c
similarity index 100%
rename from
gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-single-load-store-2.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store-2.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-single-load-store-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store-3.c
similarity index 100%
rename from
gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-single-load-store-3.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store-3.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-single-load-store-no-anchor.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store-no-anchor.c
similarity index 100%
rename from
gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-single-load-store-no-anchor.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store-no-anchor.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-single-load-store.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store.c
similarity index 100%
rename from
gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-single-load-store.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store.c
diff --git a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-tls-desc.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-tls-desc.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-tls-desc.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-tls-desc.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-tls-ld-gd.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-tls-ld-gd.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-tls-ld-gd.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-tls-ld-gd.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-tls-le-ie.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-tls-le-ie.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/explicit-relocs-auto-tls-le-ie.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-auto-tls-le-ie.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-extreme-auto-tls-ld-gd.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-extreme-auto-tls-ld-gd.c
similarity index 100%
rename from
gcc/testsuite/gcc.target/loongarch/explicit-relocs-extreme-auto-tls-ld-gd.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-extreme-auto-tls-ld-gd.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-extreme-tls-desc.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-extreme-tls-desc.c
similarity index 100%
rename from
gcc/testsuite/gcc.target/loongarch/explicit-relocs-extreme-tls-desc.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-extreme-tls-desc.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-medium-auto-tls-ld-gd.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-medium-auto-tls-ld-gd.c
similarity index 100%
rename from
gcc/testsuite/gcc.target/loongarch/explicit-relocs-medium-auto-tls-ld-gd.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-medium-auto-tls-ld-gd.c
diff --git
a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-medium-call36-auto-tls-ld-gd.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-medium-call36-auto-tls-ld-gd.c
similarity index 100%
rename from
gcc/testsuite/gcc.target/loongarch/explicit-relocs-medium-call36-auto-tls-ld-gd.c
rename to
gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-medium-call36-auto-tls-ld-gd.c
diff --git a/gcc/testsuite/gcc.target/loongarch/explicit-relocs-tls-desc.c
b/gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-tls-desc.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/explicit-relocs-tls-desc.c
rename to gcc/testsuite/gcc.target/loongarch/la64/explicit-relocs-tls-desc.c
diff --git a/gcc/testsuite/gcc.target/loongarch/extendsidi2-combine.c
b/gcc/testsuite/gcc.target/loongarch/la64/extendsidi2-combine.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/extendsidi2-combine.c
rename to gcc/testsuite/gcc.target/loongarch/la64/extendsidi2-combine.c
diff --git a/gcc/testsuite/gcc.target/loongarch/fclass-compile.c
b/gcc/testsuite/gcc.target/loongarch/la64/fclass-compile.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/fclass-compile.c
rename to gcc/testsuite/gcc.target/loongarch/la64/fclass-compile.c
diff --git a/gcc/testsuite/gcc.target/loongarch/fclass-run.c
b/gcc/testsuite/gcc.target/loongarch/la64/fclass-run.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/fclass-run.c
rename to gcc/testsuite/gcc.target/loongarch/la64/fclass-run.c
diff --git a/gcc/testsuite/gcc.target/loongarch/flogb.c
b/gcc/testsuite/gcc.target/loongarch/la64/flogb.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/flogb.c
rename to gcc/testsuite/gcc.target/loongarch/la64/flogb.c
diff --git a/gcc/testsuite/gcc.target/loongarch/flt-abi-isa-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/flt-abi-isa-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/flt-abi-isa-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/flt-abi-isa-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/flt-abi-isa-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/flt-abi-isa-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/flt-abi-isa-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/flt-abi-isa-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/flt-abi-isa-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/flt-abi-isa-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/flt-abi-isa-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/flt-abi-isa-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/flt-abi-isa-4.c
b/gcc/testsuite/gcc.target/loongarch/la64/flt-abi-isa-4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/flt-abi-isa-4.c
rename to gcc/testsuite/gcc.target/loongarch/la64/flt-abi-isa-4.c
diff --git a/gcc/testsuite/gcc.target/loongarch/frint.c
b/gcc/testsuite/gcc.target/loongarch/la64/frint.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/frint.c
rename to gcc/testsuite/gcc.target/loongarch/la64/frint.c
diff --git a/gcc/testsuite/gcc.target/loongarch/fscaleb.c
b/gcc/testsuite/gcc.target/loongarch/la64/fscaleb.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/fscaleb.c
rename to gcc/testsuite/gcc.target/loongarch/la64/fscaleb.c
diff --git a/gcc/testsuite/gcc.target/loongarch/ftint-no-inexact.c
b/gcc/testsuite/gcc.target/loongarch/la64/ftint-no-inexact.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/ftint-no-inexact.c
rename to gcc/testsuite/gcc.target/loongarch/la64/ftint-no-inexact.c
diff --git a/gcc/testsuite/gcc.target/loongarch/ftint.c
b/gcc/testsuite/gcc.target/loongarch/la64/ftint.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/ftint.c
rename to gcc/testsuite/gcc.target/loongarch/la64/ftint.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-4.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-4.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-4.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-5.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-5.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-5.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-5.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-6.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-6.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-6.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-6.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-7.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-7.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-7.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-7.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-8.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-8.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-8.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-8.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-extreme-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-extreme-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-extreme-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-extreme-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-extreme-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-extreme-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-extreme-4.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-extreme-4.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-4.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-extreme-5.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-5.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-extreme-5.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-5.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-extreme-6.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-6.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-extreme-6.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-extreme-6.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-medium-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-medium-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-medium-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-medium-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-medium-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-medium-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-medium-5.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-5.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-medium-5.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-5.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-medium-6.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-6.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-medium-6.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-6.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-medium-7.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-7.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-medium-7.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-7.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-medium-8.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-8.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-medium-8.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-8.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-medium-call36-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-call36-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-medium-call36-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-call36-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/func-call-medium-call36.c
b/gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-call36.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/func-call-medium-call36.c
rename to gcc/testsuite/gcc.target/loongarch/la64/func-call-medium-call36.c
diff --git a/gcc/testsuite/gcc.target/loongarch/imm-load.c
b/gcc/testsuite/gcc.target/loongarch/la64/imm-load.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/imm-load.c
rename to gcc/testsuite/gcc.target/loongarch/la64/imm-load.c
diff --git a/gcc/testsuite/gcc.target/loongarch/imm-load1.c
b/gcc/testsuite/gcc.target/loongarch/la64/imm-load1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/imm-load1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/imm-load1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/invariant-recip.c
b/gcc/testsuite/gcc.target/loongarch/la64/invariant-recip.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/invariant-recip.c
rename to gcc/testsuite/gcc.target/loongarch/la64/invariant-recip.c
diff --git a/gcc/testsuite/gcc.target/loongarch/la64/la64.exp
b/gcc/testsuite/gcc.target/loongarch/la64/la64.exp
new file mode 100644
index 00000000000..76ff62c8fd0
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/la64/la64.exp
@@ -0,0 +1,40 @@
+# Copyright (C) 2021-2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3. If not see
+# <http://www.gnu.org/licenses/>.
+
+# GCC testsuite that uses the `dg.exp' driver.
+
+# Exit immediately if this isn't a LoongArch target.
+if ![istarget loongarch64*-*-*] then {
+ return
+}
+
+# Load support procs.
+load_lib gcc-dg.exp
+
+# If a testcase doesn't have special options, use these.
+global DEFAULT_CFLAGS
+if ![info exists DEFAULT_CFLAGS] then {
+ set DEFAULT_CFLAGS " "
+}
+
+# Initialize `dg'.
+dg-init
+
+# Main loop.
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
+ "" $DEFAULT_CFLAGS
+# All done.
+dg-finish
diff --git a/gcc/testsuite/gcc.target/loongarch/larch-frecipe-builtin.c
b/gcc/testsuite/gcc.target/loongarch/la64/larch-frecipe-builtin.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/larch-frecipe-builtin.c
rename to gcc/testsuite/gcc.target/loongarch/la64/larch-frecipe-builtin.c
diff --git a/gcc/testsuite/gcc.target/loongarch/larch-frecipe-intrinsic.c
b/gcc/testsuite/gcc.target/loongarch/la64/larch-frecipe-intrinsic.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/larch-frecipe-intrinsic.c
rename to gcc/testsuite/gcc.target/loongarch/la64/larch-frecipe-intrinsic.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lasx-func-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/lasx-func-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lasx-func-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/lasx-func-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lasx-pragma-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/lasx-pragma-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lasx-pragma-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/lasx-pragma-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lsx-func-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/lsx-func-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lsx-func-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/lsx-func-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lsx-pragma-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/lsx-pragma-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lsx-pragma-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/lsx-pragma-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/math-float-128.c
b/gcc/testsuite/gcc.target/loongarch/la64/math-float-128.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/math-float-128.c
rename to gcc/testsuite/gcc.target/loongarch/la64/math-float-128.c
diff --git a/gcc/testsuite/gcc.target/loongarch/mem-and-mask-opt.c
b/gcc/testsuite/gcc.target/loongarch/la64/mem-and-mask-opt.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/mem-and-mask-opt.c
rename to gcc/testsuite/gcc.target/loongarch/la64/mem-and-mask-opt.c
diff --git a/gcc/testsuite/gcc.target/loongarch/memcpy-vec-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/memcpy-vec-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/memcpy-vec-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/memcpy-vec-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/memcpy-vec-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/memcpy-vec-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/memcpy-vec-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/memcpy-vec-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/memcpy-vec-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/memcpy-vec-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/memcpy-vec-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/memcpy-vec-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/mode-tieable-opt.c
b/gcc/testsuite/gcc.target/loongarch/la64/mode-tieable-opt.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/mode-tieable-opt.c
rename to gcc/testsuite/gcc.target/loongarch/la64/mode-tieable-opt.c
diff --git a/gcc/testsuite/gcc.target/loongarch/mov-zero-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/mov-zero-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/mov-zero-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/mov-zero-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/movcf2gr-via-fr.c
b/gcc/testsuite/gcc.target/loongarch/la64/movcf2gr-via-fr.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/movcf2gr-via-fr.c
rename to gcc/testsuite/gcc.target/loongarch/la64/movcf2gr-via-fr.c
diff --git a/gcc/testsuite/gcc.target/loongarch/movcf2gr.c
b/gcc/testsuite/gcc.target/loongarch/la64/movcf2gr.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/movcf2gr.c
rename to gcc/testsuite/gcc.target/loongarch/la64/movcf2gr.c
diff --git a/gcc/testsuite/gcc.target/loongarch/mul-const-reduction.c
b/gcc/testsuite/gcc.target/loongarch/la64/mul-const-reduction.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/mul-const-reduction.c
rename to gcc/testsuite/gcc.target/loongarch/la64/mul-const-reduction.c
diff --git a/gcc/testsuite/gcc.target/loongarch/mulh_wu.c
b/gcc/testsuite/gcc.target/loongarch/la64/mulh_wu.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/mulh_wu.c
rename to gcc/testsuite/gcc.target/loongarch/la64/mulh_wu.c
diff --git a/gcc/testsuite/gcc.target/loongarch/mulw_d_w.c
b/gcc/testsuite/gcc.target/loongarch/la64/mulw_d_w.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/mulw_d_w.c
rename to gcc/testsuite/gcc.target/loongarch/la64/mulw_d_w.c
diff --git a/gcc/testsuite/gcc.target/loongarch/mulw_d_wu.c
b/gcc/testsuite/gcc.target/loongarch/la64/mulw_d_wu.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/mulw_d_wu.c
rename to gcc/testsuite/gcc.target/loongarch/la64/mulw_d_wu.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr109465-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr109465-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr109465-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr109465-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr109465-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr109465-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr109465-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr109465-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr109465-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr109465-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr109465-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr109465-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr113148.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr113148.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr113148.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr113148.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr114861.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr114861.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr114861.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr114861.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr118561.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr118561.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr118561.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr118561.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr118828-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr118828-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr118828-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr118828-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr118828-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr118828-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr118828-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr118828-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr118828-4.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr118828-4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr118828-4.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr118828-4.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr118828.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr118828.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr118828.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr118828.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr118843.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr118843.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr118843.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr118843.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr119127.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr119127.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr119127.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr119127.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr121542.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr121542.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr121542.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr121542.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr121634.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr121634.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr121634.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr121634.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr121875.c
b/gcc/testsuite/gcc.target/loongarch/la64/pr121875.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr121875.c
rename to gcc/testsuite/gcc.target/loongarch/la64/pr121875.c
diff --git a/gcc/testsuite/gcc.target/loongarch/prolog-opt.c
b/gcc/testsuite/gcc.target/loongarch/la64/prolog-opt.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/prolog-opt.c
rename to gcc/testsuite/gcc.target/loongarch/la64/prolog-opt.c
diff --git a/gcc/testsuite/gcc.target/loongarch/recip-divf.c
b/gcc/testsuite/gcc.target/loongarch/la64/recip-divf.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/recip-divf.c
rename to gcc/testsuite/gcc.target/loongarch/la64/recip-divf.c
diff --git a/gcc/testsuite/gcc.target/loongarch/recip-sqrtf.c
b/gcc/testsuite/gcc.target/loongarch/la64/recip-sqrtf.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/recip-sqrtf.c
rename to gcc/testsuite/gcc.target/loongarch/la64/recip-sqrtf.c
diff --git a/gcc/testsuite/gcc.target/loongarch/relocs-symbol-noaddend.c
b/gcc/testsuite/gcc.target/loongarch/la64/relocs-symbol-noaddend.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/relocs-symbol-noaddend.c
rename to gcc/testsuite/gcc.target/loongarch/la64/relocs-symbol-noaddend.c
diff --git a/gcc/testsuite/gcc.target/loongarch/revb.c
b/gcc/testsuite/gcc.target/loongarch/la64/revb.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/revb.c
rename to gcc/testsuite/gcc.target/loongarch/la64/revb.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotl-with-rotr.c
b/gcc/testsuite/gcc.target/loongarch/la64/rotl-with-rotr.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotl-with-rotr.c
rename to gcc/testsuite/gcc.target/loongarch/la64/rotl-with-rotr.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotrw.c
b/gcc/testsuite/gcc.target/loongarch/la64/rotrw.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotrw.c
rename to gcc/testsuite/gcc.target/loongarch/la64/rotrw.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sign-extend-1.c
b/gcc/testsuite/gcc.target/loongarch/la64/sign-extend-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sign-extend-1.c
rename to gcc/testsuite/gcc.target/loongarch/la64/sign-extend-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sign-extend-2.c
b/gcc/testsuite/gcc.target/loongarch/la64/sign-extend-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sign-extend-2.c
rename to gcc/testsuite/gcc.target/loongarch/la64/sign-extend-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sign-extend-3.c
b/gcc/testsuite/gcc.target/loongarch/la64/sign-extend-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sign-extend-3.c
rename to gcc/testsuite/gcc.target/loongarch/la64/sign-extend-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sign-extend-4.c
b/gcc/testsuite/gcc.target/loongarch/la64/sign-extend-4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sign-extend-4.c
rename to gcc/testsuite/gcc.target/loongarch/la64/sign-extend-4.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sign-extend-5.c
b/gcc/testsuite/gcc.target/loongarch/la64/sign-extend-5.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sign-extend-5.c
rename to gcc/testsuite/gcc.target/loongarch/la64/sign-extend-5.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sign-extend-6.c
b/gcc/testsuite/gcc.target/loongarch/la64/sign-extend-6.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sign-extend-6.c
rename to gcc/testsuite/gcc.target/loongarch/la64/sign-extend-6.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sign-extend-bitwise.c
b/gcc/testsuite/gcc.target/loongarch/la64/sign-extend-bitwise.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sign-extend-bitwise.c
rename to gcc/testsuite/gcc.target/loongarch/la64/sign-extend-bitwise.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sign_extend_ashift.c
b/gcc/testsuite/gcc.target/loongarch/la64/sign_extend_ashift.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sign_extend_ashift.c
rename to gcc/testsuite/gcc.target/loongarch/la64/sign_extend_ashift.c
diff --git a/gcc/testsuite/gcc.target/loongarch/slt-sign-extend.c
b/gcc/testsuite/gcc.target/loongarch/la64/slt-sign-extend.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/slt-sign-extend.c
rename to gcc/testsuite/gcc.target/loongarch/la64/slt-sign-extend.c
diff --git a/gcc/testsuite/gcc.target/loongarch/smuldi3_highpart.c
b/gcc/testsuite/gcc.target/loongarch/la64/smuldi3_highpart.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/smuldi3_highpart.c
rename to gcc/testsuite/gcc.target/loongarch/la64/smuldi3_highpart.c
diff --git a/gcc/testsuite/gcc.target/loongarch/spill-less.c
b/gcc/testsuite/gcc.target/loongarch/la64/spill-less.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/spill-less.c
rename to gcc/testsuite/gcc.target/loongarch/la64/spill-less.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sqrtf.c
b/gcc/testsuite/gcc.target/loongarch/la64/sqrtf.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sqrtf.c
rename to gcc/testsuite/gcc.target/loongarch/la64/sqrtf.c
diff --git a/gcc/testsuite/gcc.target/loongarch/switch-qi.c
b/gcc/testsuite/gcc.target/loongarch/la64/switch-qi.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/switch-qi.c
rename to gcc/testsuite/gcc.target/loongarch/la64/switch-qi.c
diff --git a/gcc/testsuite/gcc.target/loongarch/tls-extreme-macro.c
b/gcc/testsuite/gcc.target/loongarch/la64/tls-extreme-macro.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/tls-extreme-macro.c
rename to gcc/testsuite/gcc.target/loongarch/la64/tls-extreme-macro.c
diff --git a/gcc/testsuite/gcc.target/loongarch/tls-gd-noplt.c
b/gcc/testsuite/gcc.target/loongarch/la64/tls-gd-noplt.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/tls-gd-noplt.c
rename to gcc/testsuite/gcc.target/loongarch/la64/tls-gd-noplt.c
diff --git a/gcc/testsuite/gcc.target/loongarch/tls-ie-extreme.c
b/gcc/testsuite/gcc.target/loongarch/la64/tls-ie-extreme.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/tls-ie-extreme.c
rename to gcc/testsuite/gcc.target/loongarch/la64/tls-ie-extreme.c
diff --git a/gcc/testsuite/gcc.target/loongarch/tls-ie-norelax.c
b/gcc/testsuite/gcc.target/loongarch/la64/tls-ie-norelax.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/tls-ie-norelax.c
rename to gcc/testsuite/gcc.target/loongarch/la64/tls-ie-norelax.c
diff --git a/gcc/testsuite/gcc.target/loongarch/tls-ie-relax.c
b/gcc/testsuite/gcc.target/loongarch/la64/tls-ie-relax.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/tls-ie-relax.c
rename to gcc/testsuite/gcc.target/loongarch/la64/tls-ie-relax.c
diff --git a/gcc/testsuite/gcc.target/loongarch/tls-le-relax.c
b/gcc/testsuite/gcc.target/loongarch/la64/tls-le-relax.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/tls-le-relax.c
rename to gcc/testsuite/gcc.target/loongarch/la64/tls-le-relax.c
diff --git a/gcc/testsuite/gcc.target/loongarch/widen-mul-rtx-cost-signed.c
b/gcc/testsuite/gcc.target/loongarch/la64/widen-mul-rtx-cost-signed.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/widen-mul-rtx-cost-signed.c
rename to gcc/testsuite/gcc.target/loongarch/la64/widen-mul-rtx-cost-signed.c
diff --git a/gcc/testsuite/gcc.target/loongarch/widen-mul-rtx-cost-unsigned.c
b/gcc/testsuite/gcc.target/loongarch/la64/widen-mul-rtx-cost-unsigned.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/widen-mul-rtx-cost-unsigned.c
rename to gcc/testsuite/gcc.target/loongarch/la64/widen-mul-rtx-cost-unsigned.c
diff --git a/gcc/testsuite/gcc.target/loongarch/zero-size-field-pass.c
b/gcc/testsuite/gcc.target/loongarch/la64/zero-size-field-pass.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/zero-size-field-pass.c
rename to gcc/testsuite/gcc.target/loongarch/la64/zero-size-field-pass.c
diff --git a/gcc/testsuite/gcc.target/loongarch/zero-size-field-ret.c
b/gcc/testsuite/gcc.target/loongarch/la64/zero-size-field-ret.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/zero-size-field-ret.c
rename to gcc/testsuite/gcc.target/loongarch/la64/zero-size-field-ret.c
diff --git a/gcc/testsuite/gcc.target/loongarch/larch-builtin.c
b/gcc/testsuite/gcc.target/loongarch/larch-builtin.c
index ca7ddb1406f..3655915533a 100644
--- a/gcc/testsuite/gcc.target/loongarch/larch-builtin.c
+++ b/gcc/testsuite/gcc.target/loongarch/larch-builtin.c
@@ -2,39 +2,39 @@
/* { dg-do compile } */
-/* { dg-final { scan-assembler-times "test_rdtime_d:.*rdtime\\.d.*\\.size
test_rdtime_d" 1 } } */
+/* { dg-final { scan-assembler-times "test_rdtime_d:.*rdtime\\.d.*\\.size
test_rdtime_d" 1 { target { loongarch64*-*-* } } } } */
/* { dg-final { scan-assembler-times "test_rdtimeh_w:.*rdtimeh\\.w.*\\.size
test_rdtimeh_w" 1 } } */
/* { dg-final { scan-assembler-times "test_rdtimel_w:.*rdtimel\\.w.*\\.size
test_rdtimel_w" 1 } } */
-/* { dg-final { scan-assembler-times "test_movfcsr2gr:.*movfcsr2gr.*\\.size
test_movfcsr2gr" 1 } } */
-/* { dg-final { scan-assembler-times "test_movgr2fcsr:.*movgr2fcsr.*\\.size
test_movgr2fcsr" 1 } } */
-/* { dg-final { scan-assembler-times "test_cacop_d:.*cacop.*\\.size
test_cacop_d" 1 } } */
+/* { dg-final { scan-assembler-times "test_movfcsr2gr:.*movfcsr2gr.*\\.size
test_movfcsr2gr" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_movgr2fcsr:.*movgr2fcsr.*\\.size
test_movgr2fcsr" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_cacop_d:.*cacop.*\\.size
test_cacop_d" 1 { target { loongarch64*-*-* } } } } */
/* { dg-final { scan-assembler-times "test_cpucfg:.*cpucfg.*\\.size
test_cpucfg" 1 } } */
-/* { dg-final { scan-assembler-times "test_asrtle_d:.*asrtle\\.d.*\\.size
test_asrtle_d" 1 } } */
-/* { dg-final { scan-assembler-times "test_asrtgt_d:.*asrtgt\\.d.*\\.size
test_asrtgt_d" 1 } } */
-/* { dg-final { scan-assembler-times "test_lddir_d:.*lddir.*\\.size
test_lddir_d" 1 } } */
-/* { dg-final { scan-assembler-times "test_ldpte_d:.*ldpte.*\\.size
test_ldpte_d" 1 } } */
-/* { dg-final { scan-assembler-times
"test_crc_w_b_w:.*crc\\.w\\.b\\.w.*\\.size test_crc_w_b_w" 1 } } */
-/* { dg-final { scan-assembler-times
"test_crc_w_h_w:.*crc\\.w\\.h\\.w.*\\.size test_crc_w_h_w" 1 } } */
-/* { dg-final { scan-assembler-times
"test_crc_w_w_w:.*crc\\.w\\.w\\.w.*\\.size test_crc_w_w_w" 1 } } */
-/* { dg-final { scan-assembler-times
"test_crc_w_d_w:.*crc\\.w\\.d\\.w.*\\.size test_crc_w_d_w" 1 } } */
-/* { dg-final { scan-assembler-times
"test_crcc_w_b_w:.*crcc\\.w\\.b\\.w.*\\.size test_crcc_w_b_w" 1 } } */
-/* { dg-final { scan-assembler-times
"test_crcc_w_h_w:.*crcc\\.w\\.h\\.w.*\\.size test_crcc_w_h_w" 1 } } */
-/* { dg-final { scan-assembler-times
"test_crcc_w_w_w:.*crcc\\.w\\.w\\.w.*\\.size test_crcc_w_w_w" 1 } } */
-/* { dg-final { scan-assembler-times
"test_crcc_w_d_w:.*crcc\\.w\\.d\\.w.*\\.size test_crcc_w_d_w" 1 } } */
+/* { dg-final { scan-assembler-times "test_asrtle_d:.*asrtle\\.d.*\\.size
test_asrtle_d" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_asrtgt_d:.*asrtgt\\.d.*\\.size
test_asrtgt_d" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_lddir_d:.*lddir.*\\.size
test_lddir_d" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_ldpte_d:.*ldpte.*\\.size
test_ldpte_d" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times
"test_crc_w_b_w:.*crc\\.w\\.b\\.w.*\\.size test_crc_w_b_w" 1 { target {
loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times
"test_crc_w_h_w:.*crc\\.w\\.h\\.w.*\\.size test_crc_w_h_w" 1 { target {
loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times
"test_crc_w_w_w:.*crc\\.w\\.w\\.w.*\\.size test_crc_w_w_w" 1 { target {
loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times
"test_crc_w_d_w:.*crc\\.w\\.d\\.w.*\\.size test_crc_w_d_w" 1 { target {
loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times
"test_crcc_w_b_w:.*crcc\\.w\\.b\\.w.*\\.size test_crcc_w_b_w" 1 { target {
loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times
"test_crcc_w_h_w:.*crcc\\.w\\.h\\.w.*\\.size test_crcc_w_h_w" 1 { target {
loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times
"test_crcc_w_w_w:.*crcc\\.w\\.w\\.w.*\\.size test_crcc_w_w_w" 1 { target {
loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times
"test_crcc_w_d_w:.*crcc\\.w\\.d\\.w.*\\.size test_crcc_w_d_w" 1 { target {
loongarch64*-*-* } } } } */
/* { dg-final { scan-assembler-times "test_csrrd_w:.*csrrd.*\\.size
test_csrrd_w" 1 } } */
/* { dg-final { scan-assembler-times "test_csrwr_w:.*csrwr.*\\.size
test_csrwr_w" 1 } } */
/* { dg-final { scan-assembler-times "test_csrxchg_w:.*csrxchg.*\\.size
test_csrxchg_w" 1 } } */
-/* { dg-final { scan-assembler-times "test_csrrd_d:.*csrrd.*\\.size
test_csrrd_d" 1 } } */
-/* { dg-final { scan-assembler-times "test_csrwr_d:.*csrwr.*\\.size
test_csrwr_d" 1 } } */
-/* { dg-final { scan-assembler-times "test_csrxchg_d:.*csrxchg.*\\.size
test_csrxchg_d" 1 } } */
-/* { dg-final { scan-assembler-times "test_iocsrrd_b:.*iocsrrd\\.b.*\\.size
test_iocsrrd_b" 1 } } */
-/* { dg-final { scan-assembler-times "test_iocsrrd_h:.*iocsrrd\\.h.*\\.size
test_iocsrrd_h" 1 } } */
-/* { dg-final { scan-assembler-times "test_iocsrrd_w:.*iocsrrd\\.w.*\\.size
test_iocsrrd_w" 1 } } */
-/* { dg-final { scan-assembler-times "test_iocsrrd_d:.*iocsrrd\\.d.*\\.size
test_iocsrrd_d" 1 } } */
-/* { dg-final { scan-assembler-times "test_iocsrwr_b:.*iocsrwr\\.b.*\\.size
test_iocsrwr_b" 1 } } */
-/* { dg-final { scan-assembler-times "test_iocsrwr_h:.*iocsrwr\\.h.*\\.size
test_iocsrwr_h" 1 } } */
-/* { dg-final { scan-assembler-times "test_iocsrwr_w:.*iocsrwr\\.w.*\\.size
test_iocsrwr_w" 1 } } */
-/* { dg-final { scan-assembler-times "test_iocsrwr_d:.*iocsrwr\\.d.*\\.size
test_iocsrwr_d" 1 } } */
+/* { dg-final { scan-assembler-times "test_csrrd_d:.*csrrd.*\\.size
test_csrrd_d" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_csrwr_d:.*csrwr.*\\.size
test_csrwr_d" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_csrxchg_d:.*csrxchg.*\\.size
test_csrxchg_d" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_iocsrrd_b:.*iocsrrd\\.b.*\\.size
test_iocsrrd_b" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_iocsrrd_h:.*iocsrrd\\.h.*\\.size
test_iocsrrd_h" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_iocsrrd_w:.*iocsrrd\\.w.*\\.size
test_iocsrrd_w" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_iocsrrd_d:.*iocsrrd\\.d.*\\.size
test_iocsrrd_d" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_iocsrwr_b:.*iocsrwr\\.b.*\\.size
test_iocsrwr_b" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_iocsrwr_h:.*iocsrwr\\.h.*\\.size
test_iocsrwr_h" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_iocsrwr_w:.*iocsrwr\\.w.*\\.size
test_iocsrwr_w" 1 { target { loongarch64*-*-* } } } } */
+/* { dg-final { scan-assembler-times "test_iocsrwr_d:.*iocsrwr\\.d.*\\.size
test_iocsrwr_d" 1 { target { loongarch64*-*-* } } } } */
/* { dg-final { scan-assembler-times "test_dbar:.*dbar.*\\.size
test_dbar" 1 } } */
/* { dg-final { scan-assembler-times "test_ibar:.*ibar.*\\.size
test_ibar" 1 } } */
/* { dg-final { scan-assembler-times "test_syscall:.*syscall.*\\.size
test_syscall" 1 } } */
@@ -42,11 +42,13 @@
#include<larchintrin.h>
+#ifdef __loongarch64
__drdtime_t
test_rdtime_d ()
{
return __rdtime_d ();
}
+#endif
__rdtime_t
test_rdtimeh_w ()
@@ -60,6 +62,7 @@ test_rdtimel_w ()
return __rdtimel_w ();
}
+#ifdef __loongarch_hard_float
unsigned int
test_movfcsr2gr ()
{
@@ -71,12 +74,15 @@ test_movgr2fcsr (unsigned int _1)
{
__movgr2fcsr (1, _1);
}
+#endif
+#ifdef __loongarch64
void
test_cacop_d (unsigned long int _1)
{
__cacop_d (1, _1, 1);
}
+#endif
unsigned int
test_cpucfg (unsigned int _1)
@@ -84,6 +90,7 @@ test_cpucfg (unsigned int _1)
return __cpucfg (_1);
}
+#ifdef __loongarch64
void
test_asrtle_d (long int _1, long int _2)
{
@@ -155,6 +162,7 @@ test_crcc_w_d_w (long int _1, int _2)
{
return __crcc_w_d_w (_1, _2);
}
+#endif
unsigned int
test_csrrd_w ()
@@ -174,6 +182,7 @@ test_csrxchg_w (unsigned int _1, unsigned int _2)
return __csrxchg_w (_1, _2, 1);
}
+#ifdef __loongarch64
unsigned long int
test_csrrd_d ()
{
@@ -191,7 +200,9 @@ test_csrxchg_d (unsigned long int _1, unsigned long int _2)
{
return __csrxchg_d (_1, _2, 1);
}
+#endif
+#ifdef __loongarch64
unsigned char
test_iocsrrd_b (unsigned int _1)
{
@@ -209,13 +220,17 @@ test_iocsrrd_w (unsigned int _1)
{
return __iocsrrd_w (_1);
}
+#endif
+#ifdef __loongarch64
unsigned long int
test_iocsrrd_d (unsigned int _1)
{
return __iocsrrd_d (_1);
}
+#endif
+#ifdef __loongarch64
void
test_iocsrwr_b (unsigned char _1, unsigned int _2)
{
@@ -233,12 +248,15 @@ test_iocsrwr_w (unsigned int _1, unsigned int _2)
{
__iocsrwr_w (_1, _2);
}
+#endif
+#ifdef __loongarch64
void
test_iocsrwr_d (unsigned long int _1, unsigned int _2)
{
__iocsrwr_d (_1, _2);
}
+#endif
void
test_dbar ()
diff --git a/gcc/testsuite/gcc.target/loongarch/pr115752.c
b/gcc/testsuite/gcc.target/loongarch/pr115752.c
index df4bae524f7..dac5a7fb13d 100644
--- a/gcc/testsuite/gcc.target/loongarch/pr115752.c
+++ b/gcc/testsuite/gcc.target/loongarch/pr115752.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-require-effective-target hard_float } */
long double
test (long double xx)
diff --git a/gcc/testsuite/gcc.target/loongarch/abd-lasx.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/abd-lasx.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/abd-lasx.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/abd-lasx.c
diff --git a/gcc/testsuite/gcc.target/loongarch/avg-ceil-lasx.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/avg-ceil-lasx.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/avg-ceil-lasx.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/avg-ceil-lasx.c
diff --git a/gcc/testsuite/gcc.target/loongarch/avg-floor-lasx.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/avg-floor-lasx.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/avg-floor-lasx.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/avg-floor-lasx.c
diff --git a/gcc/testsuite/gcc.target/loongarch/fnmam4-vec.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/fnmam4-vec.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/fnmam4-vec.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/fnmam4-vec.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lasx-andn-iorn.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-andn-iorn.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lasx-andn-iorn.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-andn-iorn.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lasx-extract-even_odd-opt.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-extract-even_odd-opt.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lasx-extract-even_odd-opt.c
rename to
gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-extract-even_odd-opt.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lasx-func-attr-2.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-func-attr-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lasx-func-attr-2.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-func-attr-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lasx-pragma-attr-2.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-pragma-attr-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lasx-pragma-attr-2.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-pragma-attr-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lasx-reduc-1.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-reduc-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lasx-reduc-1.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-reduc-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lasx-xvpermi_q-opt.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpermi_q-opt.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lasx-xvpermi_q-opt.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvpermi_q-opt.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr112476-2.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr112476-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr112476-2.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/pr112476-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr112476-4.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr112476-4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr112476-4.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/pr112476-4.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr113033.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr113033.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr113033.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/pr113033.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pragma-push-pop.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/pragma-push-pop.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pragma-push-pop.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/pragma-push-pop.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotl-with-xvrotr-b.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-b.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotl-with-xvrotr-b.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-b.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotl-with-xvrotr-d.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-d.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotl-with-xvrotr-d.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-d.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotl-with-xvrotr-h.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-h.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotl-with-xvrotr-h.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-h.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotl-with-xvrotr-w.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-w.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotl-with-xvrotr-w.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-w.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sad-lasx.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/sad-lasx.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sad-lasx.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/sad-lasx.c
diff --git a/gcc/testsuite/gcc.target/loongarch/strict-align.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/strict-align.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/strict-align.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/strict-align.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vec_pack_unpack_256.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vec_pack_unpack_256.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vec_pack_unpack_256.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vec_pack_unpack_256.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-extract.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-extract.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-extract.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-extract.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-frint-no-inexact.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-frint-no-inexact.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-frint-no-inexact.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-frint-no-inexact.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-frint.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-frint.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-frint.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-frint.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-ftint-no-inexact.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-ftint-no-inexact.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-ftint-no-inexact.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-ftint-no-inexact.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-ftint.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-ftint.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-ftint.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-ftint.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-ld-st-imm12.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-ld-st-imm12.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-ld-st-imm12.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-ld-st-imm12.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-muh.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-muh.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-muh.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-muh.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-rotr.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-rotr.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-rotr.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-rotr.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-shuf-fp.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-shuf-fp.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-shuf-fp.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-shuf-fp.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-slp-two-operator.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-slp-two-operator.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-slp-two-operator.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-slp-two-operator.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-widen-add.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-widen-add.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-widen-add.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-widen-add.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-widen-mul.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-widen-mul.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-widen-mul.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-widen-mul.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-widen-sub.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-widen-sub.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-widen-sub.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vect-widen-sub.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vfmax-vfmin.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vfmax-vfmin.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vfmax-vfmin.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vfmax-vfmin.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vrepli.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/vrepli.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vrepli.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/vrepli.c
diff --git a/gcc/testsuite/gcc.target/loongarch/wide-mul-reduc-1.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/wide-mul-reduc-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/wide-mul-reduc-1.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/wide-mul-reduc-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/wide-mul-reduc-2.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/wide-mul-reduc-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/wide-mul-reduc-2.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/wide-mul-reduc-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/xvfcmp-d.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/xvfcmp-d.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/xvfcmp-d.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/xvfcmp-d.c
diff --git a/gcc/testsuite/gcc.target/loongarch/xvfcmp-f.c
b/gcc/testsuite/gcc.target/loongarch/vector/lasx/xvfcmp-f.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/xvfcmp-f.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lasx/xvfcmp-f.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp
b/gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp
index 9df3f290857..86a172a86cd 100644
--- a/gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp
+++ b/gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp
@@ -36,10 +36,14 @@ dg-init
# If the target hardware supports LSX, the default action is "run", otherwise
# just "compile".
set saved-dg-do-what-default ${dg-do-what-default}
-if {[check_effective_target_loongarch_sx_hw]} then {
- set dg-do-what-default run
+if [check_effective_target_loongarch_sx] { # If compiler support vector
+ if {[check_effective_target_loongarch_sx_hw]} then { # If hardware support
vector
+ set dg-do-what-default run
+ } else {
+ set dg-do-what-default compile
+ }
} else {
- set dg-do-what-default compile
+ return 0
}
#Main loop.
@@ -54,10 +58,14 @@ dg-init
# just "compile".
set saved-dg-do-what-default ${dg-do-what-default}
-if {[check_effective_target_loongarch_asx_hw]} then {
- set dg-do-what-default run
+if [check_effective_target_loongarch_asx] { # If compiler support vector
+ if {[check_effective_target_loongarch_asx_hw]} then { # If hardware support
vector
+ set dg-do-what-default run
+ } else {
+ set dg-do-what-default compile
+ }
} else {
- set dg-do-what-default compile
+ return 0
}
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/lasx/*.\[cS\]]] \
diff --git a/gcc/testsuite/gcc.target/loongarch/abd-lsx.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/abd-lsx.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/abd-lsx.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/abd-lsx.c
diff --git a/gcc/testsuite/gcc.target/loongarch/avg-ceil-lsx.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/avg-ceil-lsx.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/avg-ceil-lsx.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/avg-ceil-lsx.c
diff --git a/gcc/testsuite/gcc.target/loongarch/avg-floor-lsx.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/avg-floor-lsx.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/avg-floor-lsx.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/avg-floor-lsx.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lsx-andn-iorn.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-andn-iorn.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lsx-andn-iorn.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-andn-iorn.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lsx-func-attr-2.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-func-attr-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lsx-func-attr-2.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-func-attr-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/lsx-pragma-attr-2.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-pragma-attr-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/lsx-pragma-attr-2.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-pragma-attr-2.c
diff --git a/gcc/testsuite/gcc.target/loongarch/mov-zero-1.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/mov-zero-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/mov-zero-1.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/mov-zero-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/popcnt.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/popcnt.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/popcnt.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/popcnt.c
diff --git a/gcc/testsuite/gcc.target/loongarch/popcount.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/popcount.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/popcount.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/popcount.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr112476-1.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr112476-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr112476-1.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/pr112476-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr112476-3.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr112476-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr112476-3.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/pr112476-3.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr119084.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr119084.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr119084.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/pr119084.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr121064.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr121064.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr121064.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/pr121064.c
diff --git a/gcc/testsuite/gcc.target/loongarch/pr122097.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr122097.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/pr122097.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/pr122097.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotl-with-vrotr-b.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/rotl-with-vrotr-b.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotl-with-vrotr-b.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/rotl-with-vrotr-b.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotl-with-vrotr-d.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/rotl-with-vrotr-d.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotl-with-vrotr-d.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/rotl-with-vrotr-d.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotl-with-vrotr-h.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/rotl-with-vrotr-h.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotl-with-vrotr-h.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/rotl-with-vrotr-h.c
diff --git a/gcc/testsuite/gcc.target/loongarch/rotl-with-vrotr-w.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/rotl-with-vrotr-w.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/rotl-with-vrotr-w.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/rotl-with-vrotr-w.c
diff --git a/gcc/testsuite/gcc.target/loongarch/sad-lsx.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/sad-lsx.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/sad-lsx.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/sad-lsx.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vec_pack_unpack_128.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/vec_pack_unpack_128.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vec_pack_unpack_128.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/vec_pack_unpack_128.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-frint-scalar-no-inexact.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/vect-frint-scalar-no-inexact.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-frint-scalar-no-inexact.c
rename to
gcc/testsuite/gcc.target/loongarch/vector/lsx/vect-frint-scalar-no-inexact.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-frint-scalar.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/vect-frint-scalar.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-frint-scalar.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/vect-frint-scalar.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vect-shift-imm-round.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/vect-shift-imm-round.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vect-shift-imm-round.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/vect-shift-imm-round.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector-func-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/vector-func-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vector-func-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/vector-func-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vector-pragma-attr-1.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/vector-pragma-attr-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vector-pragma-attr-1.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/vector-pragma-attr-1.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vfcmp-d.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/vfcmp-d.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vfcmp-d.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/vfcmp-d.c
diff --git a/gcc/testsuite/gcc.target/loongarch/vfcmp-f.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/vfcmp-f.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/vfcmp-f.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/vfcmp-f.c
diff --git a/gcc/testsuite/gcc.target/loongarch/xorsign-run.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/xorsign-run.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/xorsign-run.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/xorsign-run.c
diff --git a/gcc/testsuite/gcc.target/loongarch/xorsign.c
b/gcc/testsuite/gcc.target/loongarch/vector/lsx/xorsign.c
similarity index 100%
rename from gcc/testsuite/gcc.target/loongarch/xorsign.c
rename to gcc/testsuite/gcc.target/loongarch/vector/lsx/xorsign.c
diff --git a/gcc/testsuite/lib/target-supports.exp
b/gcc/testsuite/lib/target-supports.exp
index b00e11e2ae5..d32b3090a59 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -4354,7 +4354,8 @@ proc add_options_for_bfloat16 { flags } {
proc check_effective_target_scalar_all_fma { } {
if { [istarget aarch64*-*-*]
- || [istarget loongarch*-*-*]} {
+ || ([istarget loongarch*-*-*]
+ && [check_effective_target_hard_float])} {
return 1
}
return 0
@@ -4551,7 +4552,8 @@ proc check_effective_target_vect_cmdline_needed { } {
|| ([istarget arm*-*-*] && [check_effective_target_arm_neon])
|| [istarget aarch64*-*-*]
|| [istarget amdgcn*-*-*]
- || [istarget riscv*-*-*]} {
+ || [istarget riscv*-*-*]
+ || [istarget loongarch*-*-*]} {
return 0
} else {
return 1
@@ -12526,13 +12528,17 @@ proc check_vect_support_and_set_flags { } {
return 0
}
} elseif [istarget loongarch*-*-*] {
- # Set the default vectorization option to "-mlsx" due to the problem
- # of non-aligned memory access when using 256-bit vectorization.
- lappend DEFAULT_VECTCFLAGS "-mdouble-float" "-mlsx"
- if [check_effective_target_loongarch_sx_hw] {
- set dg-do-what-default run
+ if [check_effective_target_loongarch_sx] { # If compiler support vector
+ # Set the default vectorization option to "-mlsx" due to the problem
+ # of non-aligned memory access when using 256-bit vectorization.
+ lappend DEFAULT_VECTCFLAGS "-mdouble-float" "-mlsx"
+ if [check_effective_target_loongarch_sx_hw] { # If hardware support
vector
+ set dg-do-what-default run
+ } else {
+ set dg-do-what-default compile
+ }
} else {
- set dg-do-what-default compile
+ return 0
}
} else {
return 0
--
2.34.1