RISC-V: Add support for XCVsimd extension in CV32E40P
Spec: github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md Contributors: Mary Bennett <mary.bennett@embecosm.com> Nandni Jamnadas <nandni.jamnadas@embecosm.com> Pietra Ferreira <pietra.ferreira@embecosm.com> Charlie Keaney Jessica Mills Craig Blackmore <craig.blackmore@embecosm.com> Simon Cook <simon.cook@embecosm.com> Jeremy Bennett <jeremy.bennett@embecosm.com> Helene Chelin <helene.chelin@embecosm.com> gcc/ChangeLog: * common/config/riscv/riscv-common.cc: Add XCVbitmanip. * config/riscv/constraints.md: Likewise. * config/riscv/corev.def: Likewise. * config/riscv/corev.md: Likewise. * config/riscv/predicates.md: Likewise. * config/riscv/riscv-builtins.cc (AVAIL): Likewise. * config/riscv/riscv-ftypes.def: Likewise. * config/riscv/riscv.opt: Likewise. * config/riscv/riscv.cc (riscv_print_operand): Add new operand 'Y'. * doc/extend.texi: Add XCVbitmanip builtin documentation. * doc/sourcebuild.texi: Likewise. gcc/testsuite/ChangeLog: * gcc.target/riscv/cv-simd-abs-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-abs-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-add-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-add-div2-compile-1.c: New test. * gcc.target/riscv/cv-simd-add-div4-compile-1.c: New test. * gcc.target/riscv/cv-simd-add-div8-compile-1.c: New test. * gcc.target/riscv/cv-simd-add-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-add-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-add-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-and-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-and-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-and-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-and-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-avg-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-avg-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-avg-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-avg-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-avgu-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-avgu-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-avgu-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-avgu-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpeq-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpeq-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpeq-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpeq-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpge-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpge-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpge-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpge-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgeu-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgeu-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgeu-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgeu-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgt-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgt-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgt-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgt-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgtu-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgtu-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgtu-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpgtu-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmple-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmple-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmple-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmple-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpleu-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpleu-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpleu-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpleu-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmplt-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmplt-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmplt-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmplt-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpltu-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpltu-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpltu-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpltu-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpne-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpne-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpne-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-cmpne-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-cplxconj-compile-1.c: New test. * gcc.target/riscv/cv-simd-cplxmul-i-compile-1.c: New test. * gcc.target/riscv/cv-simd-cplxmul-i-div2-compile-1.c: New test. * gcc.target/riscv/cv-simd-cplxmul-i-div4-compile-1.c: New test. * gcc.target/riscv/cv-simd-cplxmul-i-div8-compile-1.c: New test. * gcc.target/riscv/cv-simd-cplxmul-r-compile-1.c: New test. * gcc.target/riscv/cv-simd-cplxmul-r-div2-compile-1.c: New test. * gcc.target/riscv/cv-simd-cplxmul-r-div4-compile-1.c: New test. * gcc.target/riscv/cv-simd-cplxmul-r-div8-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotsp-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotsp-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotsp-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotsp-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotup-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotup-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotup-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotup-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotusp-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotusp-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotusp-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-dotusp-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-extract-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-extract-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-extractu-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-extractu-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-insert-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-insert-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-march-compile-1.c: New test. * gcc.target/riscv/cv-simd-max-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-max-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-max-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-max-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-maxu-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-maxu-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-maxu-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-maxu-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-min-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-min-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-min-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-min-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-minu-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-minu-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-minu-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-minu-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-neg-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-neg-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-or-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-or-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-or-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-or-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-pack-compile-1.c: New test. * gcc.target/riscv/cv-simd-pack-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-packhi-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-packlo-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotsp-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotsp-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotsp-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotsp-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotup-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotup-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotup-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotup-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotusp-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotusp-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotusp-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sdotusp-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-shuffle-sci-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-shuffle2-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-shuffle2-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-shufflei0-sci-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-shufflei1-sci-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-shufflei2-sci-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-shufflei3-sci-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sll-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sll-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sll-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sll-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sra-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sra-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sra-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sra-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-srl-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-srl-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-srl-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-srl-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sub-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sub-div2-compile-1.c: New test. * gcc.target/riscv/cv-simd-sub-div4-compile-1.c: New test. * gcc.target/riscv/cv-simd-sub-div8-compile-1.c: New test. * gcc.target/riscv/cv-simd-sub-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-sub-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-sub-sc-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-subrotmj-compile-1.c: New test. * gcc.target/riscv/cv-simd-subrotmj-div2-compile-1.c: New test. * gcc.target/riscv/cv-simd-subrotmj-div4-compile-1.c: New test. * gcc.target/riscv/cv-simd-subrotmj-div8-compile-1.c: New test. * gcc.target/riscv/cv-simd-xor-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-xor-h-compile-1.c: New test. * gcc.target/riscv/cv-simd-xor-sc-b-compile-1.c: New test. * gcc.target/riscv/cv-simd-xor-sc-h-compile-1.c: New test. * lib/target-supports.exp: Add proc for XCVsimd extension.
This commit is contained in:
parent
3fc39658df
commit
5739d5fb54
173 changed files with 7662 additions and 0 deletions
|
@ -356,6 +356,7 @@ static const struct riscv_ext_version riscv_ext_version_table[] =
|
|||
{"xcvmac", ISA_SPEC_CLASS_NONE, 1, 0},
|
||||
{"xcvalu", ISA_SPEC_CLASS_NONE, 1, 0},
|
||||
{"xcvelw", ISA_SPEC_CLASS_NONE, 1, 0},
|
||||
{"xcvsimd", ISA_SPEC_CLASS_NONE, 1, 0},
|
||||
|
||||
{"xtheadba", ISA_SPEC_CLASS_NONE, 1, 0},
|
||||
{"xtheadbb", ISA_SPEC_CLASS_NONE, 1, 0},
|
||||
|
@ -1600,6 +1601,7 @@ static const riscv_ext_flag_table_t riscv_ext_flag_table[] =
|
|||
{"xcvmac", &gcc_options::x_riscv_xcv_subext, MASK_XCVMAC},
|
||||
{"xcvalu", &gcc_options::x_riscv_xcv_subext, MASK_XCVALU},
|
||||
{"xcvelw", &gcc_options::x_riscv_xcv_subext, MASK_XCVELW},
|
||||
{"xcvsimd", &gcc_options::x_riscv_xcv_subext, MASK_XCVSIMD},
|
||||
|
||||
{"xtheadba", &gcc_options::x_riscv_xthead_subext, MASK_XTHEADBA},
|
||||
{"xtheadbb", &gcc_options::x_riscv_xthead_subext, MASK_XTHEADBB},
|
||||
|
|
|
@ -55,6 +55,11 @@
|
|||
(and (match_code "const_int")
|
||||
(match_test "ival == 2")))
|
||||
|
||||
(define_constraint "c03"
|
||||
"Constant value 3"
|
||||
(and (match_code "const_int")
|
||||
(match_test "ival == 3")))
|
||||
|
||||
(define_constraint "c04"
|
||||
"Constant value 4"
|
||||
(and (match_code "const_int")
|
||||
|
@ -262,3 +267,28 @@
|
|||
(and (match_code "const_int")
|
||||
(and (match_test "IN_RANGE (ival, 0, 1073741823)")
|
||||
(match_test "exact_log2 (ival + 1) != -1"))))
|
||||
|
||||
(define_constraint "CV_simd_si6"
|
||||
"A 6-bit signed immediate for SIMD."
|
||||
(and (match_code "const_int")
|
||||
(match_test "IN_RANGE (ival, -32, 31)")))
|
||||
|
||||
(define_constraint "CV_simd_un6"
|
||||
"A 6-bit unsigned immediate for SIMD."
|
||||
(and (match_code "const_int")
|
||||
(match_test "IN_RANGE (ival, 0, 63)")))
|
||||
|
||||
(define_constraint "CV_simd_i01"
|
||||
"Shifting immediate for SIMD shufflei1."
|
||||
(and (match_code "const_int")
|
||||
(match_test "IN_RANGE (ival, 64, 127)")))
|
||||
|
||||
(define_constraint "CV_simd_i02"
|
||||
"Shifting immediate for SIMD shufflei2."
|
||||
(and (match_code "const_int")
|
||||
(match_test "IN_RANGE (ival, -128, -65)")))
|
||||
|
||||
(define_constraint "CV_simd_i03"
|
||||
"Shifting immediate for SIMD shufflei3."
|
||||
(and (match_code "const_int")
|
||||
(match_test "IN_RANGE (ival, -64, -1)")))
|
||||
|
|
|
@ -44,3 +44,159 @@ RISCV_BUILTIN (cv_alu_subuRN, "cv_alu_subuRN",RISCV_BUILTIN_DIRECT, RISCV_USI_
|
|||
|
||||
// XCVELW
|
||||
RISCV_BUILTIN (cv_elw_elw_si, "cv_elw_elw", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_VOID_PTR, cvelw),
|
||||
|
||||
// XCVSIMD
|
||||
//ALU Operations
|
||||
RISCV_BUILTIN (cv_simd_add_h_si, "cv_simd_add_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_add_b_si, "cv_simd_add_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_add_sc_h_si, "cv_simd_add_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_add_sc_b_si, "cv_simd_add_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sub_h_si, "cv_simd_sub_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sub_b_si, "cv_simd_sub_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sub_sc_h_si, "cv_simd_sub_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sub_sc_b_si, "cv_simd_sub_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_avg_h_si, "cv_simd_avg_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_avg_b_si, "cv_simd_avg_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_avg_sc_h_si, "cv_simd_avg_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_avg_sc_b_si, "cv_simd_avg_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_avgu_h_si, "cv_simd_avgu_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_avgu_b_si, "cv_simd_avgu_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_avgu_sc_h_si, "cv_simd_avgu_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UHI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_avgu_sc_b_si, "cv_simd_avgu_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_min_h_si, "cv_simd_min_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_min_b_si, "cv_simd_min_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_min_sc_h_si, "cv_simd_min_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_min_sc_b_si, "cv_simd_min_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_minu_h_si, "cv_simd_minu_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_minu_b_si, "cv_simd_minu_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_minu_sc_h_si, "cv_simd_minu_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UHI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_minu_sc_b_si, "cv_simd_minu_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_max_h_si, "cv_simd_max_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_max_b_si, "cv_simd_max_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_max_sc_h_si, "cv_simd_max_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_max_sc_b_si, "cv_simd_max_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_maxu_h_si, "cv_simd_maxu_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_maxu_b_si, "cv_simd_maxu_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_maxu_sc_h_si, "cv_simd_maxu_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UHI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_maxu_sc_b_si, "cv_simd_maxu_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_srl_h_si, "cv_simd_srl_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_srl_b_si, "cv_simd_srl_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_srl_sc_h_si, "cv_simd_srl_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_srl_sc_b_si, "cv_simd_srl_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sra_h_si, "cv_simd_sra_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sra_b_si, "cv_simd_sra_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sra_sc_h_si, "cv_simd_sra_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sra_sc_b_si, "cv_simd_sra_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sll_h_si, "cv_simd_sll_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sll_b_si, "cv_simd_sll_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sll_sc_h_si, "cv_simd_sll_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sll_sc_b_si, "cv_simd_sll_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_or_h_si, "cv_simd_or_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_or_b_si, "cv_simd_or_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_or_sc_h_si, "cv_simd_or_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_or_sc_b_si, "cv_simd_or_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_xor_h_si, "cv_simd_xor_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_xor_b_si, "cv_simd_xor_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_xor_sc_h_si, "cv_simd_xor_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_xor_sc_b_si, "cv_simd_xor_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_and_h_si, "cv_simd_and_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_and_b_si, "cv_simd_and_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_and_sc_h_si, "cv_simd_and_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_and_sc_b_si, "cv_simd_and_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_abs_h_si, "cv_simd_abs_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_abs_b_si, "cv_simd_abs_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_neg_h_si, "cv_simd_neg_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_neg_b_si, "cv_simd_neg_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI, cvsimd),
|
||||
//BIT MANIPULATION
|
||||
RISCV_BUILTIN (cv_simd_extract_h_si, "cv_simd_extract_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_extract_b_si, "cv_simd_extract_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_extractu_h_si, "cv_simd_extractu_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_extractu_b_si, "cv_simd_extractu_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_insert_h_si, "cv_simd_insert_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_insert_b_si, "cv_simd_insert_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_QI, cvsimd),
|
||||
//DOT PRODUCT
|
||||
RISCV_BUILTIN (cv_simd_dotup_h_si, "cv_simd_dotup_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotup_b_si, "cv_simd_dotup_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotup_sc_h_si, "cv_simd_dotup_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UHI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotup_sc_b_si, "cv_simd_dotup_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotusp_h_si, "cv_simd_dotusp_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotusp_b_si, "cv_simd_dotusp_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotusp_sc_h_si, "cv_simd_dotusp_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotusp_sc_b_si, "cv_simd_dotusp_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotsp_h_si, "cv_simd_dotsp_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotsp_b_si, "cv_simd_dotsp_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotsp_sc_h_si, "cv_simd_dotsp_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_dotsp_sc_b_si, "cv_simd_dotsp_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotup_h_si, "cv_simd_sdotup_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotup_b_si, "cv_simd_sdotup_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotup_sc_h_si, "cv_simd_sdotup_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UHI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotup_sc_b_si, "cv_simd_sdotup_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotusp_h_si, "cv_simd_sdotusp_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotusp_b_si, "cv_simd_sdotusp_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotusp_sc_h_si, "cv_simd_sdotusp_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotusp_sc_b_si, "cv_simd_sdotusp_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotsp_h_si, "cv_simd_sdotsp_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotsp_b_si, "cv_simd_sdotsp_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotsp_sc_h_si, "cv_simd_sdotsp_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_sdotsp_sc_b_si, "cv_simd_sdotsp_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI_USI, cvsimd),
|
||||
//SHUFFLE AND PACK
|
||||
RISCV_BUILTIN (cv_simd_shuffle_h_si, "cv_simd_shuffle_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_shuffle_sci_h_si, "cv_simd_shuffle_sci_h",RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_shuffle_b_si, "cv_simd_shuffle_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_shuffle_sci_b_si, "cv_simd_shuffle_sci_b",RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_shuffle2_h_si, "cv_simd_shuffle2_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_shuffle2_b_si, "cv_simd_shuffle2_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_packhi_h_si, "cv_simd_packhi_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_packlo_h_si, "cv_simd_packlo_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_packhi_b_si, "cv_simd_packhi_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_packlo_b_si, "cv_simd_packlo_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
//RISCV_BUILTIN (cv_simd_pack_si, "cv_simd_pack", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
//RISCV_BUILTIN (cv_simd_pack_h_si, "cv_simd_pack_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
//RISCV_BUILTIN (cv_simd_packhi_b_si, "cv_simd_packhi_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
//RISCV_BUILTIN (cv_simd_packlo_b_si, "cv_simd_packlo_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI, cvsimd),
|
||||
//COMPARISON OPERATIONS
|
||||
RISCV_BUILTIN (cv_simd_cmpeq_h_si, "cv_simd_cmpeq_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpeq_b_si, "cv_simd_cmpeq_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpeq_sc_h_si, "cv_simd_cmpeq_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpeq_sc_b_si, "cv_simd_cmpeq_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpne_h_si, "cv_simd_cmpne_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpne_b_si, "cv_simd_cmpne_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpne_sc_h_si, "cv_simd_cmpne_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpne_sc_b_si, "cv_simd_cmpne_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgt_h_si, "cv_simd_cmpgt_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgt_b_si, "cv_simd_cmpgt_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgt_sc_h_si, "cv_simd_cmpgt_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgt_sc_b_si, "cv_simd_cmpgt_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpge_h_si, "cv_simd_cmpge_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpge_b_si, "cv_simd_cmpge_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpge_sc_h_si, "cv_simd_cmpge_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpge_sc_b_si, "cv_simd_cmpge_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmplt_h_si, "cv_simd_cmplt_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmplt_b_si, "cv_simd_cmplt_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmplt_sc_h_si, "cv_simd_cmplt_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmplt_sc_b_si, "cv_simd_cmplt_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmple_h_si, "cv_simd_cmple_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmple_b_si, "cv_simd_cmple_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmple_sc_h_si, "cv_simd_cmple_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_HI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmple_sc_b_si, "cv_simd_cmple_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_QI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgtu_h_si, "cv_simd_cmpgtu_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgtu_b_si, "cv_simd_cmpgtu_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgtu_sc_h_si, "cv_simd_cmpgtu_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UHI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgtu_sc_b_si, "cv_simd_cmpgtu_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgeu_h_si, "cv_simd_cmpgeu_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgeu_b_si, "cv_simd_cmpgeu_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgeu_sc_h_si, "cv_simd_cmpgeu_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UHI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpgeu_sc_b_si, "cv_simd_cmpgeu_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpltu_h_si, "cv_simd_cmpltu_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpltu_b_si, "cv_simd_cmpltu_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpltu_sc_h_si, "cv_simd_cmpltu_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UHI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpltu_sc_b_si, "cv_simd_cmpltu_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpleu_h_si, "cv_simd_cmpleu_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpleu_b_si, "cv_simd_cmpleu_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpleu_sc_h_si, "cv_simd_cmpleu_sc_h", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UHI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cmpleu_sc_b_si, "cv_simd_cmpleu_sc_b", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_UQI, cvsimd),
|
||||
//COMPLEX NUMBER
|
||||
RISCV_BUILTIN (cv_simd_cplxmul_r_si, "cv_simd_cplxmul_r", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cplxmul_i_si, "cv_simd_cplxmul_i", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_USI_UQI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_cplxconj_si, "cv_simd_cplxconj", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI, cvsimd),
|
||||
RISCV_BUILTIN (cv_simd_subrotmj_si, "cv_simd_subrotmj", RISCV_BUILTIN_DIRECT, RISCV_USI_FTYPE_USI_USI_UQI, cvsimd),
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -425,6 +425,26 @@
|
|||
(ior (match_operand 0 "register_operand")
|
||||
(match_code "const_int")))
|
||||
|
||||
(define_predicate "const_int6s_operand"
|
||||
(and (match_code "const_int")
|
||||
(match_test "IN_RANGE (INTVAL (op), -32, 31)")))
|
||||
|
||||
(define_predicate "int6s_operand"
|
||||
(ior (match_operand 0 "const_int6s_operand")
|
||||
(match_operand 0 "register_operand")))
|
||||
|
||||
(define_predicate "const_int2_operand"
|
||||
(and (match_code "const_int")
|
||||
(match_test "IN_RANGE (INTVAL (op), 0, 3)")))
|
||||
|
||||
(define_predicate "const_int6_operand"
|
||||
(and (match_code "const_int")
|
||||
(match_test "IN_RANGE (INTVAL (op), 0, 63)")))
|
||||
|
||||
(define_predicate "int6_operand"
|
||||
(ior (match_operand 0 "const_int6_operand")
|
||||
(match_operand 0 "register_operand")))
|
||||
|
||||
;; Predicates for the V extension.
|
||||
(define_special_predicate "vector_length_operand"
|
||||
(ior (match_operand 0 "pmode_register_operand")
|
||||
|
|
|
@ -135,6 +135,7 @@ AVAIL (hint_pause, (!0))
|
|||
AVAIL (cvmac, TARGET_XCVMAC && !TARGET_64BIT)
|
||||
AVAIL (cvalu, TARGET_XCVALU && !TARGET_64BIT)
|
||||
AVAIL (cvelw, TARGET_XCVELW && !TARGET_64BIT)
|
||||
AVAIL (cvsimd, TARGET_XCVSIMD && !TARGET_64BIT)
|
||||
|
||||
/* Construct a riscv_builtin_description from the given arguments.
|
||||
|
||||
|
|
|
@ -38,6 +38,9 @@ DEF_RISCV_FTYPE (1, (USI, UHI))
|
|||
DEF_RISCV_FTYPE (1, (SI, QI))
|
||||
DEF_RISCV_FTYPE (1, (SI, HI))
|
||||
DEF_RISCV_FTYPE (2, (USI, UQI, UQI))
|
||||
DEF_RISCV_FTYPE (2, (USI, USI, UHI))
|
||||
DEF_RISCV_FTYPE (2, (USI, USI, QI))
|
||||
DEF_RISCV_FTYPE (2, (USI, USI, HI))
|
||||
DEF_RISCV_FTYPE (2, (USI, UHI, UHI))
|
||||
DEF_RISCV_FTYPE (2, (USI, USI, USI))
|
||||
DEF_RISCV_FTYPE (2, (USI, USI, UQI))
|
||||
|
@ -50,6 +53,11 @@ DEF_RISCV_FTYPE (2, (UDI, UDI, UDI))
|
|||
DEF_RISCV_FTYPE (2, (SI, USI, USI))
|
||||
DEF_RISCV_FTYPE (2, (SI, SI, SI))
|
||||
DEF_RISCV_FTYPE (3, (USI, USI, USI, UQI))
|
||||
DEF_RISCV_FTYPE (3, (USI, USI, USI, QI))
|
||||
DEF_RISCV_FTYPE (3, (USI, USI, UQI, USI))
|
||||
DEF_RISCV_FTYPE (3, (USI, USI, QI, USI))
|
||||
DEF_RISCV_FTYPE (3, (USI, USI, UHI, USI))
|
||||
DEF_RISCV_FTYPE (3, (USI, USI, HI, USI))
|
||||
DEF_RISCV_FTYPE (3, (USI, USI, USI, USI))
|
||||
DEF_RISCV_FTYPE (3, (SI, SI, SI, UQI))
|
||||
DEF_RISCV_FTYPE (3, (SI, SI, SI, SI))
|
||||
|
|
|
@ -5851,6 +5851,14 @@ riscv_print_operand (FILE *file, rtx op, int letter)
|
|||
output_addr_const (file, newop);
|
||||
break;
|
||||
}
|
||||
case 'Y':
|
||||
{
|
||||
unsigned int imm = (UINTVAL (op) & 63);
|
||||
gcc_assert (imm <= 63);
|
||||
rtx newop = GEN_INT (imm);
|
||||
output_addr_const (file, newop);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
switch (code)
|
||||
{
|
||||
|
|
|
@ -425,6 +425,8 @@ Mask(XCVALU) Var(riscv_xcv_subext)
|
|||
|
||||
Mask(XCVELW) Var(riscv_xcv_subext)
|
||||
|
||||
Mask(XCVSIMD) Var(riscv_xcv_subext)
|
||||
|
||||
TargetVariable
|
||||
int riscv_xthead_subext
|
||||
|
||||
|
|
|
@ -24288,6 +24288,8 @@ All of these functions are declared in the include file @file{riscv_vector.h}.
|
|||
|
||||
@node CORE-V Built-in Functions
|
||||
@subsection CORE-V Built-in Functions
|
||||
For more information on all CORE-V built-ins, please see
|
||||
@uref{https://github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md}
|
||||
|
||||
These built-in functions are available for the CORE-V MAC machine
|
||||
architecture. For more information on CORE-V built-ins, please see
|
||||
|
@ -24467,6 +24469,890 @@ architecture. For more information on CORE-V ELW builtins, please see
|
|||
Generated assembler @code{cv.elw}
|
||||
@end deftypefn
|
||||
|
||||
These built-in functions are available for the CORE-V SIMD machine
|
||||
architecture. For more information on CORE-V SIMD built-ins, please see
|
||||
@uref{https://github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md#listing-of-pulp-816-bit-simd-builtins-xcvsimd}
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_add_h (uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.add.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_add_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.add.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_add_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.add.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_add_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.add.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_add_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.add.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_add_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.add.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sub_h (uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.sub.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sub_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sub.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sub_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.sub.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sub_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.sub.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sub_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.sub.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sub_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.sub.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avg_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.avg.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avg_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.avg.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avg_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.avg.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avg_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.avg.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avg_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.avg.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avg_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.avg.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avgu_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.avgu.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avgu_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.avgu.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avgu_sc_h (uint32_t, uint16_t)
|
||||
Generated assembler @code{cv.avgu.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avgu_sc_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.avgu.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avgu_sc_b (uint32_t, uint8_t)
|
||||
Generated assembler @code{cv.avgu.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_avgu_sc_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.avgu.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_min_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.min.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_min_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.min.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_min_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.min.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_min_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.min.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_min_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.min.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_min_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.min.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_minu_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.minu.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_minu_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.minu.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_minu_sc_h (uint32_t, uint16_t)
|
||||
Generated assembler @code{cv.minu.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_minu_sc_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.minu.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_minu_sc_b (uint32_t, uint8_t)
|
||||
Generated assembler @code{cv.minu.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_minu_sc_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.minu.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_max_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.max.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_max_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.max.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_max_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.max.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_max_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.max.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_max_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.max.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_max_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.max.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_maxu_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.maxu.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_maxu_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.maxu.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_maxu_sc_h (uint32_t, uint16_t)
|
||||
Generated assembler @code{cv.maxu.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_maxu_sc_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.maxu.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_maxu_sc_b (uint32_t, uint8_t)
|
||||
Generated assembler @code{cv.maxu.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_maxu_sc_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.maxu.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_srl_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.srl.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_srl_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.srl.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_srl_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.srl.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_srl_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.srl.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_srl_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.srl.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_srl_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.srl.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sra_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sra.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sra_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sra.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sra_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.sra.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sra_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.sra.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sra_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.sra.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sra_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.sra.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sll_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sll.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sll_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sll.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sll_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.sll.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sll_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.sll.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sll_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.sll.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sll_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.sll.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_or_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.or.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_or_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.or.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_or_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.or.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_or_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.or.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_or_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.or.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_or_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.or.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_xor_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.xor.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_xor_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.xor.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_xor_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.xor.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_xor_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.xor.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_xor_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.xor.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_xor_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.xor.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_and_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.and.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_and_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.and.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_and_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.and.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_and_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.and.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_and_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.and.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_and_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.and.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_abs_h (uint32_t)
|
||||
Generated assembler @code{cv.abs.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_abs_b (uint32_t)
|
||||
Generated assembler @code{cv.abs.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotup_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.dotup.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotup_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.dotup.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotup_sc_h (uint32_t, uint16_t)
|
||||
Generated assembler @code{cv.dotup.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotup_sc_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.dotup.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotup_sc_b (uint32_t, uint8_t)
|
||||
Generated assembler @code{cv.dotup.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotup_sc_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.dotup.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotusp_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.dotusp.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotusp_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.dotusp.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotusp_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.dotusp.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotusp_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.dotusp.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotusp_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.dotusp.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotusp_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.dotusp.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotsp_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.dotsp.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotsp_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.dotsp.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotsp_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.dotsp.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotsp_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.dotsp.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotsp_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.dotsp.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_dotsp_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.dotsp.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotup_h (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotup.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotup_b (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotup.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotup_sc_h (uint32_t, uint16_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotup.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotup_sc_h (uint32_t, uint6_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotup.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotup_sc_b (uint32_t, uint8_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotup.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotup_sc_b (uint32_t, uint6_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotup.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotusp_h (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotusp.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotusp_b (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotusp.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotusp_sc_h (uint32_t, int16_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotusp.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotusp_sc_h (uint32_t, int6_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotusp.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotusp_sc_b (uint32_t, int8_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotusp.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotusp_sc_b (uint32_t, int6_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotusp.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotsp_h (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotsp.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotsp_b (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotsp.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotsp_sc_h (uint32_t, int16_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotsp.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotsp_sc_h (uint32_t, int6_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotsp.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotsp_sc_b (uint32_t, int8_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotsp.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sdotsp_sc_b (uint32_t, int6_t, uint32_t)
|
||||
Generated assembler @code{cv.sdotsp.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_extract_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.extract.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_extract_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.extract.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_extractu_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.extractu.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_extractu_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.extractu.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_insert_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.insert.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_insert_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.insert.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_shuffle_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.shuffle.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_shuffle_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.shuffle.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_shuffle_sci_h (uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.shuffle.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_shufflei0_sci_b (uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.shufflei0.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_shufflei1_sci_b (uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.shufflei1.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_shufflei2_sci_b (uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.shufflei2.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_shufflei3_sci_b (uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.shufflei3.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_shuffle2_h (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.shuffle2.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_shuffle2_b (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.shuffle2.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_packlo_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.pack}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_packhi_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.pack.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_packhi_b (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.packhi.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_packlo_b (uint32_t, uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.packlo.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpeq_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpeq.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpeq_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpeq.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpeq_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.cmpeq.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpeq_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmpeq.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpeq_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.cmpeq.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpeq_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmpeq.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpne_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpne.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpne_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpne.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpne_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.cmpne.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpne_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmpne.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpne_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.cmpne.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpne_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmpne.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgt_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpgt.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgt_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpgt.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgt_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.cmpgt.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgt_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmpgt.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgt_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.cmpgt.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgt_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmpgt.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpge_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpge.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpge_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpge.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpge_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.cmpge.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpge_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmpge.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpge_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.cmpge.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpge_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmpge.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmplt_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmplt.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmplt_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmplt.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmplt_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.cmplt.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmplt_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmplt.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmplt_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.cmplt.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmplt_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmplt.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmple_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmple.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmple_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmple.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmple_sc_h (uint32_t, int16_t)
|
||||
Generated assembler @code{cv.cmple.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmple_sc_h (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmple.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmple_sc_b (uint32_t, int8_t)
|
||||
Generated assembler @code{cv.cmple.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmple_sc_b (uint32_t, int6_t)
|
||||
Generated assembler @code{cv.cmple.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgtu_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpgtu.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgtu_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpgtu.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgtu_sc_h (uint32_t, uint16_t)
|
||||
Generated assembler @code{cv.cmpgtu.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgtu_sc_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.cmpgtu.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgtu_sc_b (uint32_t, uint8_t)
|
||||
Generated assembler @code{cv.cmpgtu.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgtu_sc_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.cmpgtu.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgeu_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpgeu.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgeu_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpgeu.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgeu_sc_h (uint32_t, uint16_t)
|
||||
Generated assembler @code{cv.cmpgeu.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgeu_sc_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.cmpgeu.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgeu_sc_b (uint32_t, uint8_t)
|
||||
Generated assembler @code{cv.cmpgeu.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpgeu_sc_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.cmpgeu.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpltu_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpltu.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpltu_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpltu.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpltu_sc_h (uint32_t, uint16_t)
|
||||
Generated assembler @code{cv.cmpltu.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpltu_sc_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.cmpltu.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpltu_sc_b (uint32_t, uint8_t)
|
||||
Generated assembler @code{cv.cmpltu.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpltu_sc_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.cmpltu.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpleu_h (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpleu.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpleu_b (uint32_t, uint32_t)
|
||||
Generated assembler @code{cv.cmpleu.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpleu_sc_h (uint32_t, uint16_t)
|
||||
Generated assembler @code{cv.cmpleu.sc.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpleu_sc_h (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.cmpleu.sci.h}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpleu_sc_b (uint32_t, uint8_t)
|
||||
Generated assembler @code{cv.cmpleu.sc.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cmpleu_sc_b (uint32_t, uint6_t)
|
||||
Generated assembler @code{cv.cmpleu.sci.b}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cplxmul_r (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.cplxmul.r}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cplxmul_i (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.cplxmul.i}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cplxmul_r (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.cplxmul.r.div2}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cplxmul_i (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.cplxmul.i.div2}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cplxmul_r (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.cplxmul.r.div4}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cplxmul_i (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.cplxmul.i.div4}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cplxmul_r (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.cplxmul.r.div8}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cplxmul_i (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.cplxmul.i.div8}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_cplxconj (uint32_t)
|
||||
Generated assembler @code{cv.cplxconj}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_subrotmj (uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.subrotmj}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_subrotmj (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.subrotmj.div2}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_subrotmj (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.subrotmj.div4}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_subrotmj (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.subrotmj.div8}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_add_h (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.add.div2}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_add_h (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.add.div4}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_add_h (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.add.div8}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sub_h (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.sub.div2}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sub_h (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.sub.div4}
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Built-in Function} {uint32_t} __builtin_riscv_cv_simd_sub_h (uint32_t, uint32_t, uint32_t, uint4_t)
|
||||
Generated assembler @code{cv.sub.div8}
|
||||
@end deftypefn
|
||||
|
||||
@node RX Built-in Functions
|
||||
@subsection RX Built-in Functions
|
||||
GCC supports some of the RX instructions which cannot be expressed in
|
||||
|
|
|
@ -2525,6 +2525,9 @@ Test system has support for the CORE-V ALU extension.
|
|||
@item cv_elw
|
||||
Test system has support for the CORE-V ELW extension.
|
||||
|
||||
@item cv_simd
|
||||
Test system has support for the CORE-V SIMD extension.
|
||||
|
||||
@end table
|
||||
|
||||
@subsubsection Other hardware attributes
|
||||
|
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-abs-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-abs-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_abs_b(a);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.abs\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-abs-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-abs-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_abs_h(a);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.abs\\.h" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.add\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-div2-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-div2-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_h(a, b, 1);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.add\\.div2" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-div4-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-div4-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_h(a, b, 2);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.add\\.div4" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-div8-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-div8-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_h(a, b, 3);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.add\\.div8" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-add-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_h(a, b, 0);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.add\\.h" 1 } } */
|
30
gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-b-compile-1.c
Normal file
30
gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-b-compile-1.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.add\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.add\\.sci\\.b" 3 } } */
|
30
gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-h-compile-1.c
Normal file
30
gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-h-compile-1.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_add_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.add\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.add\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-and-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-and-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.and\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-and-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-and-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.and\\.h" 1 } } */
|
30
gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-b-compile-1.c
Normal file
30
gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-b-compile-1.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.and\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.and\\.sci\\.b" 3 } } */
|
30
gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-h-compile-1.c
Normal file
30
gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-h-compile-1.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_and_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.and\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.and\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-avg-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-avg-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.avg\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-avg-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-avg-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.avg\\.h" 1 } } */
|
30
gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-b-compile-1.c
Normal file
30
gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-b-compile-1.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.avg\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.avg\\.sci\\.b" 3 } } */
|
30
gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-h-compile-1.c
Normal file
30
gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-h-compile-1.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avg_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.avg\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.avg\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-avgu-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-avgu-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avgu_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.avgu\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-avgu-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-avgu-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avgu_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.avgu\\.h" 1 } } */
|
24
gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-b-compile-1.c
Normal file
24
gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-b-compile-1.c
Normal file
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avgu_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avgu_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avgu_sc_b(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.avgu\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.avgu\\.sci\\.b" 2 } } */
|
24
gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-h-compile-1.c
Normal file
24
gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-h-compile-1.c
Normal file
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avgu_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avgu_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_avgu_sc_h(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.avgu\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.avgu\\.sci\\.h" 2 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpeq\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpeq\\.h" 1 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpeq\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpeq\\.sci\\.b" 3 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpeq_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpeq\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpeq\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpge\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpge\\.h" 1 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpge\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpge\\.sci\\.b" 3 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpge_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpge\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpge\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgeu_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgeu\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgeu_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgeu\\.h" 1 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgeu_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgeu_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgeu_sc_b(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgeu\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgeu\\.sci\\.b" 2 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgeu_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgeu_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgeu_sc_h(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgeu\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgeu\\.sci\\.h" 2 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgt\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgt\\.h" 1 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgt\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgt\\.sci\\.b" 3 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgt_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgt\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgt\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgtu_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgtu\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgtu_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgtu\\.h" 1 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgtu_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgtu_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgtu_sc_b(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgtu\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgtu\\.sci\\.b" 2 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgtu_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgtu_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpgtu_sc_h(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgtu\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpgtu\\.sci\\.h" 2 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmple-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmple-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmple\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmple-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmple-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmple\\.h" 1 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmple\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmple\\.sci\\.b" 3 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmple_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmple\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmple\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpleu_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpleu\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpleu_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpleu\\.h" 1 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpleu_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpleu_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpleu_sc_b(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpleu\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpleu\\.sci\\.b" 2 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpleu_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpleu_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpleu_sc_h(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpleu\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpleu\\.sci\\.h" 2 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmplt\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmplt\\.h" 1 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmplt\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmplt\\.sci\\.b" 3 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmplt_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmplt\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmplt\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpltu_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpltu\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpltu_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpltu\\.h" 1 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpltu_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpltu_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpltu_sc_b(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpltu\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpltu\\.sci\\.b" 2 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpltu_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpltu_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpltu_sc_h(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpltu\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpltu\\.sci\\.h" 2 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpne\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpne\\.h" 1 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpne\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpne\\.sci\\.b" 3 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cmpne_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpne\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.cmpne\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cplxconj-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cplxconj-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cplxconj(a);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cplxconj" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b, int c)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cplxmul_i(a, b, c, 0);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cplxmul\\.i" 1 } } */
|
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b, int c)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cplxmul_i(a, b, c, 1);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cplxmul\\.i\\.div2" 1 } } */
|
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b, int c)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cplxmul_i(a, b, c, 2);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cplxmul\\.i\\.div4" 1 } } */
|
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b, int c)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cplxmul_i(a, b, c, 3);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cplxmul\\.i\\.div8" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b, int c)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cplxmul_r(a, b, c, 0);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cplxmul\\.r" 1 } } */
|
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b, int c)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cplxmul_r(a, b, c, 1);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cplxmul\\.r\\.div2" 1 } } */
|
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b, int c)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cplxmul_r(a, b, c, 2);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cplxmul\\.r\\.div4" 1 } } */
|
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b, int c)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_cplxmul_r(a, b, c, 3);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.cplxmul\\.r\\.div8" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotsp\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotsp\\.h" 1 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotsp\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotsp\\.sci\\.b" 3 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotsp_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotsp\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotsp\\.sci\\.h" 3 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotup-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotup-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotup_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotup\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotup-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotup-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotup_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotup\\.h" 1 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotup_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotup_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotup_sc_b(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotup\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotup\\.sci\\.b" 2 } } */
|
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotup_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotup_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotup_sc_h(a, 63);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotup\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotup\\.sci\\.h" 2 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-b-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-b-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_b(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotusp\\.b" 1 } } */
|
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-h-compile-1.c
Normal file
11
gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-h-compile-1.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_h(a, b);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotusp\\.h" 1 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_sc_b(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_sc_b(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_sc_b(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_sc_b(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotusp\\.sc\\.b" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotusp\\.sci\\.b" 3 } } */
|
|
@ -0,0 +1,30 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_sc_h(a, b);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_sc_h(a, -32);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_sc_h(a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo4 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_dotusp_sc_h(a, 31);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotusp\\.sc\\.h" 1 } } */
|
||||
/* { dg-final { scan-assembler-times "cv\\.dotusp\\.sci\\.h" 3 } } */
|
23
gcc/testsuite/gcc.target/riscv/cv-simd-extract-b-compile-1.c
Normal file
23
gcc/testsuite/gcc.target/riscv/cv-simd-extract-b-compile-1.c
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extract_b (a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extract_b (a, 3);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extract_b (a, 255);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.extract\\.b" 3 } } */
|
23
gcc/testsuite/gcc.target/riscv/cv-simd-extract-h-compile-1.c
Normal file
23
gcc/testsuite/gcc.target/riscv/cv-simd-extract-h-compile-1.c
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extract_h (a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extract_h (a, 1);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extract_h (a, 255);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.extract\\.h" 3 } } */
|
|
@ -0,0 +1,23 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extractu_b (a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extractu_b (a, 3);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extractu_b (a, 255);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.extractu\\.b" 3 } } */
|
|
@ -0,0 +1,23 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extractu_h (a, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extractu_h (a, 1);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_extractu_h (a, 255);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.extractu\\.h" 3 } } */
|
23
gcc/testsuite/gcc.target/riscv/cv-simd-insert-b-compile-1.c
Normal file
23
gcc/testsuite/gcc.target/riscv/cv-simd-insert-b-compile-1.c
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_insert_b (a, b, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_insert_b (a, b, 3);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_insert_b (a, b, 255);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.insert\\.b" 3 } } */
|
23
gcc/testsuite/gcc.target/riscv/cv-simd-insert-h-compile-1.c
Normal file
23
gcc/testsuite/gcc.target/riscv/cv-simd-insert-h-compile-1.c
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target cv_simd } */
|
||||
/* { dg-options "-march=rv32i_xcvsimd -mabi=ilp32" } */
|
||||
|
||||
int
|
||||
foo1 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_insert_h (a, b, 0);
|
||||
}
|
||||
|
||||
int
|
||||
foo2 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_insert_h (a, b, 1);
|
||||
}
|
||||
|
||||
int
|
||||
foo3 (int a, int b)
|
||||
{
|
||||
return __builtin_riscv_cv_simd_insert_h (a, b, 255);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-times "cv\\.insert\\.h" 3 } } */
|
1765
gcc/testsuite/gcc.target/riscv/cv-simd-march-compile-1.c
Normal file
1765
gcc/testsuite/gcc.target/riscv/cv-simd-march-compile-1.c
Normal file
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue