Lines Matching defs:uint32_t
54 static uint32_t iter_predtest_fwd(uint64_t d, uint64_t g, uint32_t flags)
76 static uint32_t iter_predtest_bwd(uint64_t d, uint64_t g, uint32_t flags)
96 uint32_t HELPER(sve_predtest1)(uint64_t d, uint64_t g)
102 uint32_t HELPER(sve_predtest)(void *vd, void *vg, uint32_t words)
104 uint32_t flags = PREDTEST_INIT;
132 void HELPER(NAME)(void *vd, void *vn, void *vm, void *vg, uint32_t desc) \
179 void HELPER(NAME)(void *vd, void *vn, void *vm, void *vg, uint32_t desc) \
197 void HELPER(NAME)(void *vd, void *vn, void *vm, void *vg, uint32_t desc) \
235 DO_ZPZZ(sve_and_zpzz_s, uint32_t, H1_4, DO_AND)
240 DO_ZPZZ(sve_orr_zpzz_s, uint32_t, H1_4, DO_ORR)
245 DO_ZPZZ(sve_eor_zpzz_s, uint32_t, H1_4, DO_EOR)
250 DO_ZPZZ(sve_bic_zpzz_s, uint32_t, H1_4, DO_BIC)
255 DO_ZPZZ(sve_add_zpzz_s, uint32_t, H1_4, DO_ADD)
260 DO_ZPZZ(sve_sub_zpzz_s, uint32_t, H1_4, DO_SUB)
270 DO_ZPZZ(sve_umax_zpzz_s, uint32_t, H1_4, DO_MAX)
280 DO_ZPZZ(sve_umin_zpzz_s, uint32_t, H1_4, DO_MIN)
290 DO_ZPZZ(sve_uabd_zpzz_s, uint32_t, H1_4, DO_ABD)
305 static inline uint32_t do_mulh_s(int64_t n, int64_t m)
326 DO_ZPZZ(sve_mul_zpzz_s, uint32_t, H1_4, DO_MUL)
336 DO_ZPZZ(sve_umulh_zpzz_s, uint32_t, H1_4, do_mulh_s)
342 DO_ZPZZ(sve_udiv_zpzz_s, uint32_t, H1_4, DO_UDIV)
360 DO_ZPZZ(sve_lsr_zpzz_s, uint32_t, H1_2, DO_LSR)
361 DO_ZPZZ(sve_lsl_zpzz_s, uint32_t, H1_4, DO_LSL)
373 static inline uint32_t do_sadalp_s(int32_t n, int32_t m)
395 static inline uint32_t do_uadalp_s(uint32_t n, uint32_t m)
403 uint32_t n1 = n, n2 = n >> 32;
408 DO_ZPZZ(sve2_uadalp_zpzz_s, uint32_t, H1_4, do_uadalp_s)
428 DO_ZPZZ(sve2_urshl_zpzz_s, uint32_t, H1_4, do_urshl_s)
438 ({ uint32_t discard; do_sqrshl_bhs(n, m, 8, false, &discard); })
440 ({ uint32_t discard; do_sqrshl_bhs(n, m, 16, false, &discard); })
442 ({ uint32_t discard; do_sqrshl_bhs(n, m, 32, false, &discard); })
444 ({ uint32_t discard; do_sqrshl_d(n, m, false, &discard); })
452 ({ uint32_t discard; do_uqrshl_bhs(n, (int8_t)m, 8, false, &discard); })
454 ({ uint32_t discard; do_uqrshl_bhs(n, (int16_t)m, 16, false, &discard); })
456 ({ uint32_t discard; do_uqrshl_bhs(n, m, 32, false, &discard); })
458 ({ uint32_t discard; do_uqrshl_d(n, m, false, &discard); })
462 DO_ZPZZ(sve2_uqshl_zpzz_s, uint32_t, H1_4, do_uqshl_s)
466 ({ uint32_t discard; do_sqrshl_bhs(n, m, 8, true, &discard); })
468 ({ uint32_t discard; do_sqrshl_bhs(n, m, 16, true, &discard); })
470 ({ uint32_t discard; do_sqrshl_bhs(n, m, 32, true, &discard); })
472 ({ uint32_t discard; do_sqrshl_d(n, m, true, &discard); })
482 ({ uint32_t discard; do_uqrshl_bhs(n, (int8_t)m, 8, true, &discard); })
484 ({ uint32_t discard; do_uqrshl_bhs(n, (int16_t)m, 16, true, &discard); })
486 ({ uint32_t discard; do_uqrshl_bhs(n, m, 32, true, &discard); })
488 ({ uint32_t discard; do_uqrshl_d(n, m, true, &discard); })
492 DO_ZPZZ(sve2_uqrshl_zpzz_s, uint32_t, H1_4, do_uqrshl_s)
507 DO_ZPZZ(sve2_uhadd_zpzz_s, uint32_t, H1_4, DO_HADD_BHS)
520 DO_ZPZZ(sve2_urhadd_zpzz_s, uint32_t, H1_4, DO_RHADD_BHS)
533 DO_ZPZZ(sve2_uhsub_zpzz_s, uint32_t, H1_4, DO_HSUB_BHS)
567 DO_ZPZZ(sve2_uqadd_zpzz_s, uint32_t, H1_4, DO_UQADD_S)
600 DO_ZPZZ(sve2_uqsub_zpzz_s, uint32_t, H1_4, DO_UQSUB_S)
632 DO_ZPZZ(sve2_suqadd_zpzz_s, uint32_t, H1_4, DO_SUQADD_S)
651 DO_ZPZZ(sve2_usqadd_zpzz_s, uint32_t, H1_4, DO_USQADD_S)
664 void HELPER(NAME)(void *vd, void *vn, void *vm, void *vg, uint32_t desc) \
688 void HELPER(NAME)(void *vd, void *vn, void *vm, void *vg, uint32_t desc) \
707 DO_ZPZZ_PAIR(sve2_addp_zpzz_s, uint32_t, H1_4, DO_ADD)
712 DO_ZPZZ_PAIR(sve2_umaxp_zpzz_s, uint32_t, H1_4, DO_MAX)
717 DO_ZPZZ_PAIR(sve2_uminp_zpzz_s, uint32_t, H1_4, DO_MIN)
735 float_status *status, uint32_t desc) \
784 void HELPER(NAME)(void *vd, void *vn, void *vm, void *vg, uint32_t desc) \
809 DO_ZPZW(sve_lsr_zpzw_s, uint32_t, uint64_t, H1_4, DO_LSR)
810 DO_ZPZW(sve_lsl_zpzw_s, uint32_t, uint64_t, H1_4, DO_LSL)
817 void HELPER(NAME)(void *vd, void *vn, void *vg, uint32_t desc) \
834 void HELPER(NAME)(void *vd, void *vn, void *vg, uint32_t desc) \
860 DO_ZPZ(sve_clz_s, uint32_t, H1_4, clz32)
865 DO_ZPZ(sve_cnt_zpz_s, uint32_t, H1_4, ctpop32)
872 DO_ZPZ(sve_cnot_s, uint32_t, H1_4, DO_CNOT)
878 DO_ZPZ(sve_fabs_s, uint32_t, H1_4, DO_FABS)
886 DO_ZPZ(sve_ah_fabs_s, uint32_t, H1_4, DO_AH_FABS_S)
892 DO_ZPZ(sve_fneg_s, uint32_t, H1_4, DO_FNEG)
900 DO_ZPZ(sve_ah_fneg_s, uint32_t, H1_4, DO_AH_FNEG_S)
907 DO_ZPZ(sve_not_zpz_s, uint32_t, H1_4, DO_NOT)
915 #define DO_UXTS(N) ((uint32_t)N)
918 DO_ZPZ(sve_sxtb_s, uint32_t, H1_4, DO_SXTB)
919 DO_ZPZ(sve_sxth_s, uint32_t, H1_4, DO_SXTH)
925 DO_ZPZ(sve_uxtb_s, uint32_t, H1_4, DO_UXTB)
926 DO_ZPZ(sve_uxth_s, uint32_t, H1_4, DO_UXTH)
942 DO_ZPZ(sve_neg_s, uint32_t, H1_4, DO_NEG)
946 DO_ZPZ(sve_revb_s, uint32_t, H1_4, bswap32)
949 DO_ZPZ(sve_revh_s, uint32_t, H1_4, hswap32)
954 void HELPER(sme_revd_q)(void *vd, void *vn, void *vg, uint32_t desc)
972 DO_ZPZ(sve_rbit_s, uint32_t, H1_4, revbit32)
990 DO_ZPZ(sve2_sqneg_s, uint32_t, H1_4, DO_SQNEG)
993 DO_ZPZ(sve2_urecpe_s, uint32_t, H1_4, helper_recpe_u32)
994 DO_ZPZ(sve2_ursqrte_s, uint32_t, H1_4, helper_rsqrte_u32)
999 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
1021 DO_ZZW(sve_lsr_zzw_s, uint32_t, uint64_t, H1_4, DO_LSR)
1022 DO_ZZW(sve_lsl_zzw_s, uint32_t, uint64_t, H1_4, DO_LSL)
1043 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
1068 DO_ZZZ_TB(sve2_uaddl_s, uint32_t, uint16_t, H1_4, H1_2, DO_ADD)
1069 DO_ZZZ_TB(sve2_uaddl_d, uint64_t, uint32_t, H1_8, H1_4, DO_ADD)
1072 DO_ZZZ_TB(sve2_usubl_s, uint32_t, uint16_t, H1_4, H1_2, DO_SUB)
1073 DO_ZZZ_TB(sve2_usubl_d, uint64_t, uint32_t, H1_8, H1_4, DO_SUB)
1076 DO_ZZZ_TB(sve2_uabdl_s, uint32_t, uint16_t, H1_4, H1_2, DO_ABD)
1077 DO_ZZZ_TB(sve2_uabdl_d, uint64_t, uint32_t, H1_8, H1_4, DO_ABD)
1084 DO_ZZZ_TB(sve2_umull_zzz_s, uint32_t, uint16_t, H1_4, H1_2, DO_MUL)
1085 DO_ZZZ_TB(sve2_umull_zzz_d, uint64_t, uint32_t, H1_8, H1_4, DO_MUL)
1113 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
1133 DO_ZZZ_WTB(sve2_uaddw_s, uint32_t, uint16_t, H1_4, H1_2, DO_ADD)
1134 DO_ZZZ_WTB(sve2_uaddw_d, uint64_t, uint32_t, H1_8, H1_4, DO_ADD)
1137 DO_ZZZ_WTB(sve2_usubw_s, uint32_t, uint16_t, H1_4, H1_2, DO_SUB)
1138 DO_ZZZ_WTB(sve2_usubw_d, uint64_t, uint32_t, H1_8, H1_4, DO_SUB)
1143 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
1157 DO_ZZZ_NTB(sve2_eoril_s, uint32_t, H1_4, DO_EOR)
1163 void HELPER(NAME)(void *vd, void *vn, void *vm, void *va, uint32_t desc) \
1180 DO_ZZZW_ACC(sve2_uabal_s, uint32_t, uint16_t, H1_4, H1_2, DO_ABD)
1181 DO_ZZZW_ACC(sve2_uabal_d, uint64_t, uint32_t, H1_8, H1_4, DO_ABD)
1188 DO_ZZZW_ACC(sve2_umlal_zzzw_s, uint32_t, uint16_t, H1_4, H1_2, DO_MUL)
1189 DO_ZZZW_ACC(sve2_umlal_zzzw_d, uint64_t, uint32_t, H1_8, H1_4, DO_MUL)
1198 DO_ZZZW_ACC(sve2_umlsl_zzzw_s, uint32_t, uint16_t, H1_4, H1_2, DO_NMUL)
1199 DO_ZZZW_ACC(sve2_umlsl_zzzw_d, uint64_t, uint32_t, H1_8, H1_4, DO_NMUL)
1204 void HELPER(NAME)(void *vd, void *vn, uint32_t desc) \
1215 void HELPER(NAME)(void *vd, void *vn, uint32_t desc) \
1233 DO_XTNB(sve2_uqxtnb_s, uint32_t, do_usat_h)
1237 DO_XTNT(sve2_uqxtnt_s, uint32_t, uint16_t, H1_2, do_usat_h)
1238 DO_XTNT(sve2_uqxtnt_d, uint64_t, uint32_t, H1_4, do_usat_s)
1251 void HELPER(sve2_adcl_s)(void *vd, void *vn, void *vm, void *va, uint32_t desc)
1255 uint32_t inv = -extract32(desc, SIMD_DATA_SHIFT + 1, 1);
1256 uint32_t *a = va, *n = vn;
1260 uint32_t e1 = a[2 * i + H4(0)];
1261 uint32_t e2 = n[2 * i + sel] ^ inv;
1268 void HELPER(sve2_adcl_d)(void *vd, void *vn, void *vm, void *va, uint32_t desc)
1286 void HELPER(NAME)(void *vd, void *vn, void *vm, void *va, uint32_t desc) \
1316 void HELPER(NAME)(void *vd, void *vn, void *vm, void *va, uint32_t desc) \
1337 DO_CMLA_FUNC(sve2_cmla_zzzz_s, uint32_t, H4, DO_CMLA)
1343 ({ uint32_t discard; do_sqrdmlah_h(N, M, A, S, true, &discard); })
1345 ({ uint32_t discard; do_sqrdmlah_s(N, M, A, S, true, &discard); })
1355 void HELPER(NAME)(void *vd, void *vn, void *vm, void *va, uint32_t desc) \
1390 static int32_t do_cdot_s(uint32_t n, uint32_t m, int32_t a,
1419 void *va, uint32_t desc)
1426 uint32_t *d = vd, *n = vn, *m = vm, *a = va;
1434 void *va, uint32_t desc)
1449 void *va, uint32_t desc)
1457 uint32_t *d = vd, *n = vn, *m = vm, *a = va;
1460 uint32_t seg_m = m[seg + idx];
1469 void *va, uint32_t desc)
1489 void HELPER(NAME)(void *vd, void *vn, void *vm, void *va, uint32_t desc) \
1503 ({ uint32_t discard; do_sqrdmlah_h(N, M, A, false, true, &discard); })
1505 ({ uint32_t discard; do_sqrdmlah_s(N, M, A, false, true, &discard); })
1513 ({ uint32_t discard; do_sqrdmlah_h(N, M, A, true, true, &discard); })
1515 ({ uint32_t discard; do_sqrdmlah_s(N, M, A, true, true, &discard); })
1525 void HELPER(NAME)(void *vd, void *vn, void *vm, void *va, uint32_t desc) \
1544 DO_ZZXW(sve2_umlal_idx_s, uint32_t, uint16_t, H1_4, H1_2, DO_MLA)
1545 DO_ZZXW(sve2_umlal_idx_d, uint64_t, uint32_t, H1_8, H1_4, DO_MLA)
1551 DO_ZZXW(sve2_umlsl_idx_s, uint32_t, uint16_t, H1_4, H1_2, DO_MLS)
1552 DO_ZZXW(sve2_umlsl_idx_d, uint64_t, uint32_t, H1_8, H1_4, DO_MLS)
1571 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
1591 DO_ZZX(sve2_umull_idx_s, uint32_t, uint16_t, H1_4, H1_2, DO_MUL)
1592 DO_ZZX(sve2_umull_idx_d, uint64_t, uint32_t, H1_8, H1_4, DO_MUL)
1597 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
1623 DO_BITPERM(sve2_bext_s, uint32_t, bitextract)
1642 DO_BITPERM(sve2_bdep_s, uint32_t, bitdeposit)
1664 DO_BITPERM(sve2_bgrp_s, uint32_t, bitgroup)
1670 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
1712 void HELPER(NAME)(void *vd, void *vn, uint32_t desc) \
1728 DO_ZZI_SHLL(sve2_ushll_s, uint32_t, uint16_t, H1_4, H1_2)
1729 DO_ZZI_SHLL(sve2_ushll_d, uint64_t, uint32_t, H1_8, H1_4)
1743 uint64_t HELPER(NAME)(void *vn, void *vg, uint32_t desc) \
1761 uint64_t HELPER(NAME)(void *vn, void *vg, uint32_t desc) \
1778 DO_VPZ(sve_orv_s, uint32_t, uint32_t, uint32_t, H1_4, 0, DO_ORR)
1783 DO_VPZ(sve_eorv_s, uint32_t, uint32_t, uint32_t, H1_4, 0, DO_EOR)
1788 DO_VPZ(sve_andv_s, uint32_t, uint32_t, uint32_t, H1_4, -1, DO_AND)
1797 DO_VPZ(sve_uaddv_s, uint32_t, uint64_t, uint64_t, H1_4, 0, DO_ADD)
1802 DO_VPZ(sve_smaxv_s, int32_t, int32_t, uint32_t, H1_4, INT32_MIN, DO_MAX)
1807 DO_VPZ(sve_umaxv_s, uint32_t, uint32_t, uint32_t, H1_4, 0, DO_MAX)
1812 DO_VPZ(sve_sminv_s, int32_t, int32_t, uint32_t, H1_4, INT32_MAX, DO_MIN)
1817 DO_VPZ(sve_uminv_s, uint32_t, uint32_t, uint32_t, H1_4, -1, DO_MIN)
1824 void HELPER(NAME)(void *vd, void *vn, void *vg, uint32_t desc) \
1844 DO_VPQ(sve2p1_addqv_s, uint32_t, H4, 0, DO_ADD)
1859 DO_VPQ(sve2p1_umaxqv_s, uint32_t, H4, 0, DO_MAX)
1864 DO_VPQ(sve2p1_uminqv_s, uint32_t, H4, -1, DO_MIN)
1871 void HELPER(NAME)(void *vd, void *vn, uint64_t s64, uint32_t desc) \
1884 DO_ZZI(sve_subri_s, uint32_t, DO_SUBR)
1899 DO_ZZI(sve_umaxi_s, uint32_t, DO_MAX)
1904 DO_ZZI(sve_umini_s, uint32_t, DO_MIN)
1910 void HELPER(NAME ## _ ## SUFF)(void *vd, void *vn, void *vg, uint32_t desc) \
1978 uint32_t HELPER(sve_pfirst)(void *vd, void *vg, uint32_t pred_desc)
1981 uint32_t flags = PREDTEST_INIT;
2002 uint32_t HELPER(sve_pnext)(void *vd, void *vg, uint32_t pred_desc)
2006 uint32_t flags = PREDTEST_INIT;
2050 void HELPER(sve_movz_b)(void *vd, void *vn, void *vg, uint32_t desc)
2062 void HELPER(sve_movz_h)(void *vd, void *vn, void *vg, uint32_t desc)
2074 void HELPER(sve_movz_s)(void *vd, void *vn, void *vg, uint32_t desc)
2086 void HELPER(sve_movz_d)(void *vd, void *vn, void *vg, uint32_t desc)
2101 void HELPER(NAME)(void *vd, void *vn, void *vg, uint32_t desc) \
2119 void HELPER(NAME)(void *vd, void *vn, void *vg, uint32_t desc) \
2148 DO_ZPZI(sve_lsr_zpzi_s, uint32_t, H1_4, DO_SHR)
2153 DO_ZPZI(sve_lsl_zpzi_s, uint32_t, H1_4, DO_SHL)
2169 DO_ZPZI(sve2_uqshl_zpzi_s, uint32_t, H1_4, do_uqshl_s)
2179 DO_ZPZI(sve2_urshr_s, uint32_t, H1_4, do_urshr)
2183 ({ uint32_t discard; do_suqrshl_bhs(n, (int8_t)m, 8, false, &discard); })
2185 ({ uint32_t discard; do_suqrshl_bhs(n, (int16_t)m, 16, false, &discard); })
2187 ({ uint32_t discard; do_suqrshl_bhs(n, m, 32, false, &discard); })
2189 ({ uint32_t discard; do_suqrshl_d(n, m, false, &discard); })
2201 void HELPER(NAME)(void *vd, void *vn, uint32_t desc) \
2212 void HELPER(NAME)(void *vd, void *vn, uint32_t desc) \
2223 DO_SHRNB(sve2_shrnb_s, uint32_t, uint16_t, DO_SHR)
2224 DO_SHRNB(sve2_shrnb_d, uint64_t, uint32_t, DO_SHR)
2227 DO_SHRNT(sve2_shrnt_s, uint32_t, uint16_t, H1_4, H1_2, DO_SHR)
2228 DO_SHRNT(sve2_shrnt_d, uint64_t, uint32_t, H1_8, H1_4, DO_SHR)
2231 DO_SHRNB(sve2_rshrnb_s, uint32_t, uint16_t, do_urshr)
2232 DO_SHRNB(sve2_rshrnb_d, uint64_t, uint32_t, do_urshr)
2235 DO_SHRNT(sve2_rshrnt_s, uint32_t, uint16_t, H1_4, H1_2, do_urshr)
2236 DO_SHRNT(sve2_rshrnt_d, uint64_t, uint32_t, H1_8, H1_4, do_urshr)
2244 DO_SHRNB(sve2_sqshrunb_d, int64_t, uint32_t, DO_SQSHRUN_D)
2248 DO_SHRNT(sve2_sqshrunt_d, int64_t, uint32_t, H1_8, H1_4, DO_SQSHRUN_D)
2256 DO_SHRNB(sve2_sqrshrunb_d, int64_t, uint32_t, DO_SQRSHRUN_D)
2260 DO_SHRNT(sve2_sqrshrunt_d, int64_t, uint32_t, H1_8, H1_4, DO_SQRSHRUN_D)
2268 DO_SHRNB(sve2_sqshrnb_d, int64_t, uint32_t, DO_SQSHRN_D)
2272 DO_SHRNT(sve2_sqshrnt_d, int64_t, uint32_t, H1_8, H1_4, DO_SQSHRN_D)
2280 DO_SHRNB(sve2_sqrshrnb_d, int64_t, uint32_t, DO_SQRSHRN_D)
2284 DO_SHRNT(sve2_sqrshrnt_d, int64_t, uint32_t, H1_8, H1_4, DO_SQRSHRN_D)
2291 DO_SHRNB(sve2_uqshrnb_s, uint32_t, uint16_t, DO_UQSHRN_S)
2292 DO_SHRNB(sve2_uqshrnb_d, uint64_t, uint32_t, DO_UQSHRN_D)
2295 DO_SHRNT(sve2_uqshrnt_s, uint32_t, uint16_t, H1_4, H1_2, DO_UQSHRN_S)
2296 DO_SHRNT(sve2_uqshrnt_d, uint64_t, uint32_t, H1_8, H1_4, DO_UQSHRN_D)
2303 DO_SHRNB(sve2_uqrshrnb_s, uint32_t, uint16_t, DO_UQRSHRN_S)
2304 DO_SHRNB(sve2_uqrshrnb_d, uint64_t, uint32_t, DO_UQRSHRN_D)
2307 DO_SHRNT(sve2_uqrshrnt_s, uint32_t, uint16_t, H1_4, H1_2, DO_UQRSHRN_S)
2308 DO_SHRNT(sve2_uqrshrnt_d, uint64_t, uint32_t, H1_8, H1_4, DO_UQRSHRN_D)
2314 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
2325 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
2341 DO_BINOPNB(sve2_addhnb_s, uint32_t, uint16_t, 16, DO_ADDHN)
2342 DO_BINOPNB(sve2_addhnb_d, uint64_t, uint32_t, 32, DO_ADDHN)
2345 DO_BINOPNT(sve2_addhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_ADDHN)
2346 DO_BINOPNT(sve2_addhnt_d, uint64_t, uint32_t, 32, H1_8, H1_4, DO_ADDHN)
2349 DO_BINOPNB(sve2_raddhnb_s, uint32_t, uint16_t, 16, DO_RADDHN)
2350 DO_BINOPNB(sve2_raddhnb_d, uint64_t, uint32_t, 32, DO_RADDHN)
2353 DO_BINOPNT(sve2_raddhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_RADDHN)
2354 DO_BINOPNT(sve2_raddhnt_d, uint64_t, uint32_t, 32, H1_8, H1_4, DO_RADDHN)
2357 DO_BINOPNB(sve2_subhnb_s, uint32_t, uint16_t, 16, DO_SUBHN)
2358 DO_BINOPNB(sve2_subhnb_d, uint64_t, uint32_t, 32, DO_SUBHN)
2361 DO_BINOPNT(sve2_subhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_SUBHN)
2362 DO_BINOPNT(sve2_subhnt_d, uint64_t, uint32_t, 32, H1_8, H1_4, DO_SUBHN)
2365 DO_BINOPNB(sve2_rsubhnb_s, uint32_t, uint16_t, 16, DO_RSUBHN)
2366 DO_BINOPNB(sve2_rsubhnb_d, uint64_t, uint32_t, 32, DO_RSUBHN)
2369 DO_BINOPNT(sve2_rsubhnt_s, uint32_t, uint16_t, 16, H1_4, H1_2, DO_RSUBHN)
2370 DO_BINOPNT(sve2_rsubhnt_d, uint64_t, uint32_t, 32, H1_8, H1_4, DO_RSUBHN)
2383 void *vg, uint32_t desc) \
2403 void *vg, uint32_t desc) \
2425 DO_ZPZZZ(sve_mla_s, uint32_t, H1_4, DO_MLA)
2426 DO_ZPZZZ(sve_mls_s, uint32_t, H1_4, DO_MLS)
2436 void HELPER(sve_index_b)(void *vd, uint32_t start,
2437 uint32_t incr, uint32_t desc)
2446 void HELPER(sve_index_h)(void *vd, uint32_t start,
2447 uint32_t incr, uint32_t desc)
2456 void HELPER(sve_index_s)(void *vd, uint32_t start,
2457 uint32_t incr, uint32_t desc)
2460 uint32_t *d = vd;
2467 uint64_t incr, uint32_t desc)
2476 void HELPER(sve_adr_p32)(void *vd, void *vn, void *vm, uint32_t desc)
2479 uint32_t sh = simd_data(desc);
2480 uint32_t *d = vd, *n = vn, *m = vm;
2486 void HELPER(sve_adr_p64)(void *vd, void *vn, void *vm, uint32_t desc)
2496 void HELPER(sve_adr_s32)(void *vd, void *vn, void *vm, uint32_t desc)
2506 void HELPER(sve_adr_u32)(void *vd, void *vn, void *vm, uint32_t desc)
2512 d[i] = n[i] + ((uint64_t)(uint32_t)m[i] << sh);
2516 void HELPER(sve_fexpa_h)(void *vd, void *vn, uint32_t desc)
2536 void HELPER(sve_fexpa_s)(void *vd, void *vn, uint32_t desc)
2539 static const uint32_t coeff[] = {
2558 uint32_t *d = vd, *n = vn;
2561 uint32_t nn = n[i];
2563 uint32_t exp = extract32(nn, 6, 8);
2568 void HELPER(sve_fexpa_d)(void *vd, void *vn, uint32_t desc)
2606 void HELPER(sve_ftssel_h)(void *vd, void *vn, void *vm, uint32_t desc)
2624 void HELPER(sve_ftssel_s)(void *vd, void *vn, void *vm, uint32_t desc)
2628 uint32_t *d = vd, *n = vn, *m = vm;
2630 uint32_t nn = n[i];
2631 uint32_t mm = m[i];
2642 void HELPER(sve_ftssel_d)(void *vd, void *vn, void *vm, uint32_t desc)
2664 void HELPER(sve_sqaddi_b)(void *d, void *a, int32_t b, uint32_t desc)
2673 void HELPER(sve_sqaddi_h)(void *d, void *a, int32_t b, uint32_t desc)
2682 void HELPER(sve_sqaddi_s)(void *d, void *a, int64_t b, uint32_t desc)
2691 void HELPER(sve_sqaddi_d)(void *d, void *a, int64_t b, uint32_t desc)
2704 void HELPER(sve_uqaddi_b)(void *d, void *a, int32_t b, uint32_t desc)
2713 void HELPER(sve_uqaddi_h)(void *d, void *a, int32_t b, uint32_t desc)
2722 void HELPER(sve_uqaddi_s)(void *d, void *a, int64_t b, uint32_t desc)
2726 for (i = 0; i < oprsz; i += sizeof(uint32_t)) {
2727 *(uint32_t *)(d + i) = DO_UQADD_S(b, *(uint32_t *)(a + i));
2731 void HELPER(sve_uqaddi_d)(void *d, void *a, uint64_t b, uint32_t desc)
2740 void HELPER(sve_uqsubi_d)(void *d, void *a, uint64_t b, uint32_t desc)
2753 uint64_t mm, uint32_t desc)
2768 uint64_t mm, uint32_t desc)
2783 uint64_t mm, uint32_t desc)
2798 uint64_t mm, uint32_t desc)
2810 void HELPER(sve_cpy_z_b)(void *vd, void *vg, uint64_t val, uint32_t desc)
2822 void HELPER(sve_cpy_z_h)(void *vd, void *vg, uint64_t val, uint32_t desc)
2834 void HELPER(sve_cpy_z_s)(void *vd, void *vg, uint64_t val, uint32_t desc)
2846 void HELPER(sve_cpy_z_d)(void *vd, void *vg, uint64_t val, uint32_t desc)
2878 *(uint32_t *)H1_4(d + i) = *(uint32_t *)H1_4(s + i);
2883 *(uint32_t *)H1_4(d + i) = *(uint32_t *)H1_4(s + i);
2939 *(uint32_t *)H1_4(d + i) = 0;
2958 void HELPER(sve_ext)(void *vd, void *vn, void *vm, uint32_t desc)
2980 void HELPER(NAME)(void *vd, void *vn, uint64_t val, uint32_t desc) \
2989 DO_INSR(sve_insr_s, uint32_t, H1_4)
2994 void HELPER(sve_rev_b)(void *vd, void *vn, uint32_t desc)
3005 void HELPER(sve_rev_h)(void *vd, void *vn, uint32_t desc)
3016 void HELPER(sve_rev_s)(void *vd, void *vn, uint32_t desc)
3027 void HELPER(sve_rev_d)(void *vd, void *vn, uint32_t desc)
3043 void HELPER(NAME)(void *vd, void *vs, uint32_t desc) \
3067 void HELPER(NAME)(void *vd, void *vs, uint32_t desc) \
3090 static inline void do_tbl1(void *vd, void *vn, void *vm, uint32_t desc,
3104 uint32_t desc, bool is_tbx, tb_impl_fn *fn)
3142 void HELPER(sve_tbl_##SUFF)(void *vd, void *vn, void *vm, uint32_t desc) \
3147 void *vm, uint32_t desc) \
3151 void HELPER(sve2_tbx_##SUFF)(void *vd, void *vn, void *vm, uint32_t desc) \
3158 DO_TB(s, uint32_t, H4)
3164 void HELPER(NAME)(void *vd, void *vn, uint32_t desc) \
3183 DO_UNPK(sve_uunpk_s, uint32_t, uint16_t, H4, H2)
3184 DO_UNPK(sve_uunpk_d, uint64_t, uint32_t, H8, H4)
3234 void HELPER(sve_zip_p)(void *vd, void *vn, void *vm, uint32_t pred_desc)
3271 uint32_t *n = vn, *m = vm;
3298 void HELPER(sve_uzp_p)(void *vd, void *vn, void *vm, uint32_t pred_desc)
3367 void HELPER(sve_trn_p)(void *vd, void *vn, void *vm, uint32_t pred_desc)
3417 void HELPER(sve_rev_p)(void *vd, void *vn, uint32_t pred_desc)
3447 void HELPER(sve_punpk_p)(void *vd, void *vn, uint32_t pred_desc)
3474 uint32_t *n = vn;
3494 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
3520 DO_ZIP(sve_zip_s, uint32_t, H1_4)
3525 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
3549 DO_UZP(sve_uzp_s, uint32_t, H1_4)
3553 typedef void perseg_zzz_fn(void *vd, void *vn, void *vm, uint32_t desc);
3556 uint32_t desc, perseg_zzz_fn *fn)
3567 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
3593 void HELPER(NAME)(void *vd, void *vn, void *vm, uint32_t desc) \
3611 DO_TRN(sve_trn_s, uint32_t, H1_4)
3619 void HELPER(sve_compact_s)(void *vd, void *vn, void *vg, uint32_t desc)
3622 uint32_t *d = vd, *n = vn;
3636 void HELPER(sve_compact_d)(void *vd, void *vn, void *vg, uint32_t desc)
3657 int32_t HELPER(sve_last_active_element)(void *vg, uint32_t pred_desc)
3665 void HELPER(sve_splice)(void *vd, void *vn, void *vm, void *vg, uint32_t desc)
3703 void *vg, uint32_t desc)
3717 void *vg, uint32_t desc)
3731 void *vg, uint32_t desc)
3745 void *vg, uint32_t desc)
3758 void *vg, uint32_t desc)
3791 uint32_t HELPER(NAME)(void *vd, void *vn, void *vm, void *vg, uint32_t desc) \
3794 uint32_t flags = PREDTEST_INIT; \
3823 DO_CMP_PPZZ_S(sve_cmpeq_ppzz_s, uint32_t, ==)
3828 DO_CMP_PPZZ_S(sve_cmpne_ppzz_s, uint32_t, !=)
3843 DO_CMP_PPZZ_S(sve_cmphi_ppzz_s, uint32_t, >)
3848 DO_CMP_PPZZ_S(sve_cmphs_ppzz_s, uint32_t, >=)
3859 uint32_t HELPER(NAME)(void *vd, void *vn, void *vm, void *vg, uint32_t desc) \
3862 uint32_t flags = PREDTEST_INIT; \
3907 DO_CMP_PPZW_S(sve_cmphi_ppzw_s, uint32_t, uint64_t, >)
3911 DO_CMP_PPZW_S(sve_cmphs_ppzw_s, uint32_t, uint64_t, >=)
3923 DO_CMP_PPZW_S(sve_cmplo_ppzw_s, uint32_t, uint64_t, <)
3927 DO_CMP_PPZW_S(sve_cmpls_ppzw_s, uint32_t, uint64_t, <=)
3936 uint32_t HELPER(NAME)(void *vd, void *vn, void *vg, uint32_t desc) \
3939 uint32_t flags = PREDTEST_INIT; \
3968 DO_CMP_PPZI_S(sve_cmpeq_ppzi_s, uint32_t, ==)
3973 DO_CMP_PPZI_S(sve_cmpne_ppzi_s, uint32_t, !=)
3988 DO_CMP_PPZI_S(sve_cmphi_ppzi_s, uint32_t, >)
3993 DO_CMP_PPZI_S(sve_cmphs_ppzi_s, uint32_t, >=)
4008 DO_CMP_PPZI_S(sve_cmplo_ppzi_s, uint32_t, <)
4013 DO_CMP_PPZI_S(sve_cmpls_ppzi_s, uint32_t, <=)
4082 static uint32_t compute_brks_z(uint64_t *d, uint64_t *n, uint64_t *g,
4085 uint32_t flags = PREDTEST_INIT;
4115 static uint32_t compute_brks_m(uint64_t *d, uint64_t *n, uint64_t *g,
4118 uint32_t flags = PREDTEST_INIT;
4133 uint32_t pred_desc)
4143 uint32_t HELPER(sve_brkpas)(void *vd, void *vn, void *vm, void *vg,
4144 uint32_t pred_desc)
4156 uint32_t pred_desc)
4166 uint32_t HELPER(sve_brkpbs)(void *vd, void *vn, void *vm, void *vg,
4167 uint32_t pred_desc)
4178 void HELPER(sve_brka_z)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4184 uint32_t HELPER(sve_brkas_z)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4190 void HELPER(sve_brkb_z)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4196 uint32_t HELPER(sve_brkbs_z)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4202 void HELPER(sve_brka_m)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4208 uint32_t HELPER(sve_brkas_m)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4214 void HELPER(sve_brkb_m)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4220 uint32_t HELPER(sve_brkbs_m)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4226 void HELPER(sve_brkn)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4234 uint32_t HELPER(sve_brkns)(void *vd, void *vn, void *vg, uint32_t pred_desc)
4239 uint32_t flags = PREDTEST_INIT;
4256 uint64_t HELPER(sve_cntp)(void *vn, void *vg, uint32_t pred_desc)
4270 uint64_t HELPER(sve2p1_cntp_c)(uint32_t png, uint32_t desc)
4292 static uint64_t encode_pred_count(uint32_t elements, uint32_t count,
4293 uint32_t esz, bool invert)
4295 uint32_t pred;
4315 static uint32_t pred_count_test(uint32_t elements, uint32_t count, bool invert)
4317 uint32_t flags;
4333 uint32_t count, uint32_t oprbits)
4337 uint32_t i;
4349 uint32_t HELPER(sve_whilel)(void *vd, uint32_t count, uint32_t pred_desc)
4351 uint32_t oprsz = FIELD_EX32(pred_desc, PREDDESC, OPRSZ);
4352 uint32_t esz = FIELD_EX32(pred_desc, PREDDESC, ESZ);
4353 uint32_t oprbits = oprsz * 8;
4363 uint32_t HELPER(sve_while2l)(void *vd, uint32_t count, uint32_t pred_desc)
4365 uint32_t oprsz = FIELD_EX32(pred_desc, PREDDESC, OPRSZ);
4366 uint32_t esz = FIELD_EX32(pred_desc, PREDDESC, ESZ);
4367 uint32_t oprbits = oprsz * 8;
4383 uint32_t HELPER(sve_whilecl)(void *vd, uint32_t count, uint32_t pred_desc)
4385 uint32_t pl = FIELD_EX32(pred_desc, PREDDESC, OPRSZ);
4386 uint32_t esz = FIELD_EX32(pred_desc, PREDDESC, ESZ);
4387 uint32_t scale = FIELD_EX32(pred_desc, PREDDESC, DATA);
4388 uint32_t vl = pl * 8;
4389 uint32_t elements = (vl >> esz) << scale;
4400 uint32_t count, uint32_t oprbits)
4404 uint32_t i, invcount = oprbits - count;
4417 uint32_t HELPER(sve_whileg)(void *vd, uint32_t count, uint32_t pred_desc)
4419 uint32_t oprsz = FIELD_EX32(pred_desc, PREDDESC, OPRSZ);
4420 uint32_t esz = FIELD_EX32(pred_desc, PREDDESC, ESZ);
4421 uint32_t oprbits = oprsz * 8;
4431 uint32_t HELPER(sve_while2g)(void *vd, uint32_t count, uint32_t pred_desc)
4433 uint32_t oprsz = FIELD_EX32(pred_desc, PREDDESC, OPRSZ);
4434 uint32_t esz = FIELD_EX32(pred_desc, PREDDESC, ESZ);
4435 uint32_t oprbits = oprsz * 8;
4451 uint32_t HELPER(sve_whilecg)(void *vd, uint32_t count, uint32_t pred_desc)
4453 uint32_t pl = FIELD_EX32(pred_desc, PREDDESC, OPRSZ);
4454 uint32_t esz = FIELD_EX32(pred_desc, PREDDESC, ESZ);
4455 uint32_t scale = FIELD_EX32(pred_desc, PREDDESC, DATA);
4456 uint32_t vl = pl * 8;
4457 uint32_t elements = (vl >> esz) << scale;
4487 float_status *s, uint32_t desc) \
4505 float_status *status, uint32_t desc) \
4555 float_status *status, uint32_t desc)
4575 float_status *status, uint32_t desc)
4595 float_status *status, uint32_t desc)
4615 float_status *status, uint32_t desc) \
4633 DO_ZPZZ_FP(sve_fadd_s, uint32_t, H1_4, float32_add)
4637 DO_ZPZZ_FP(sve_fsub_s, uint32_t, H1_4, float32_sub)
4641 DO_ZPZZ_FP(sve_fmul_s, uint32_t, H1_4, float32_mul)
4645 DO_ZPZZ_FP(sve_fdiv_s, uint32_t, H1_4, float32_div)
4649 DO_ZPZZ_FP(sve_fmin_s, uint32_t, H1_4, float32_min)
4653 DO_ZPZZ_FP(sve_fmax_s, uint32_t, H1_4, float32_max)
4657 DO_ZPZZ_FP(sve_ah_fmin_s, uint32_t, H1_4, helper_vfp_ah_mins)
4661 DO_ZPZZ_FP(sve_ah_fmax_s, uint32_t, H1_4, helper_vfp_ah_maxs)
4665 DO_ZPZZ_FP(sve_fminnum_s, uint32_t, H1_4, float32_minnum)
4669 DO_ZPZZ_FP(sve_fmaxnum_s, uint32_t, H1_4, float32_maxnum)
4707 DO_ZPZZ_FP(sve_fabd_s, uint32_t, H1_4, abd_s)
4710 DO_ZPZZ_FP(sve_ah_fabd_s, uint32_t, H1_4, ah_abd_s)
4724 DO_ZPZZ_FP(sve_fmulx_s, uint32_t, H1_4, helper_vfp_mulxs)
4734 float_status *status, uint32_t desc) \
4811 float_status *status, uint32_t desc) \
4947 DO_ZPZ_FP(sve_fcvt_sh, uint32_t, H1_4, sve_f32_to_f16)
4948 DO_ZPZ_FP(sve_fcvt_hs, uint32_t, H1_4, sve_f16_to_f32)
4949 DO_ZPZ_FP(sve_bfcvt, uint32_t, H1_4, float32_to_bfloat16)
4956 DO_ZPZ_FP(sve_fcvtzs_hs, uint32_t, H1_4, helper_vfp_tosizh)
4957 DO_ZPZ_FP(sve_fcvtzs_ss, uint32_t, H1_4, helper_vfp_tosizs)
4964 DO_ZPZ_FP(sve_fcvtzu_hs, uint32_t, H1_4, helper_vfp_touizh)
4965 DO_ZPZ_FP(sve_fcvtzu_ss, uint32_t, H1_4, helper_vfp_touizs)
4972 DO_ZPZ_FP(sve_frint_s, uint32_t, H1_4, helper_rints)
4976 DO_ZPZ_FP(sve_frintx_s, uint32_t, H1_4, float32_round_to_int)
4980 DO_ZPZ_FP(sve_frecpx_s, uint32_t, H1_4, helper_frecpx_f32)
4984 DO_ZPZ_FP(sve_fsqrt_s, uint32_t, H1_4, float32_sqrt)
4988 DO_ZPZ_FP(sve_scvt_sh, uint32_t, H1_4, int32_to_float16)
4989 DO_ZPZ_FP(sve_scvt_ss, uint32_t, H1_4, int32_to_float32)
4996 DO_ZPZ_FP(sve_ucvt_sh, uint32_t, H1_4, uint32_to_float16)
4997 DO_ZPZ_FP(sve_ucvt_ss, uint32_t, H1_4, uint32_to_float32)
5005 /* Extract frac to the top of the uint32_t. */
5006 uint32_t frac = (uint32_t)a << (16 + 6);
5033 /* Extract frac to the top of the uint32_t. */
5034 uint32_t frac = a << 9;
5094 float_status *status, uint32_t desc,
5118 void *vg, float_status *status, uint32_t desc)
5124 void *vg, float_status *status, uint32_t desc)
5130 void *vg, float_status *status, uint32_t desc)
5136 void *vg, float_status *status, uint32_t desc)
5142 void *vg, float_status *status, uint32_t desc)
5149 void *vg, float_status *status, uint32_t desc)
5156 void *vg, float_status *status, uint32_t desc)
5163 float_status *status, uint32_t desc,
5164 uint32_t neg1, uint32_t neg3, int flags)
5176 e1 = *(uint32_t *)(vn + H1_4(i)) ^ neg1;
5177 e2 = *(uint32_t *)(vm + H1_4(i));
5178 e3 = *(uint32_t *)(va + H1_4(i)) ^ neg3;
5180 *(uint32_t *)(vd + H1_4(i)) = r;
5187 void *vg, float_status *status, uint32_t desc)
5193 void *vg, float_status *status, uint32_t desc)
5199 void *vg, float_status *status, uint32_t desc)
5205 void *vg, float_status *status, uint32_t desc)
5211 void *vg, float_status *status, uint32_t desc)
5218 void *vg, float_status *status, uint32_t desc)
5225 void *vg, float_status *status, uint32_t desc)
5232 float_status *status, uint32_t desc,
5256 void *vg, float_status *status, uint32_t desc)
5262 void *vg, float_status *status, uint32_t desc)
5268 void *vg, float_status *status, uint32_t desc)
5274 void *vg, float_status *status, uint32_t desc)
5280 void *vg, float_status *status, uint32_t desc)
5287 void *vg, float_status *status, uint32_t desc)
5294 void *vg, float_status *status, uint32_t desc)
5307 float_status *status, uint32_t desc) \
5369 float_status *status, uint32_t desc) \
5408 float_status *s, uint32_t desc)
5437 float_status *s, uint32_t desc)
5468 float_status *s, uint32_t desc)
5507 float_status *s, uint32_t desc)
5545 float_status *s, uint32_t desc)
5583 float_status *s, uint32_t desc)
5625 void *vg, float_status *status, uint32_t desc)
5629 uint32_t fpcr_ah = extract32(desc, SIMD_DATA_SHIFT + 2, 1);
5630 uint32_t negf_imag = extract32(desc, SIMD_DATA_SHIFT + 1, 1);
5631 uint32_t negf_real = flip ^ negf_imag;
5675 void *vg, float_status *status, uint32_t desc)
5679 uint32_t fpcr_ah = extract32(desc, SIMD_DATA_SHIFT + 2, 1);
5680 uint32_t negf_imag = extract32(desc, SIMD_DATA_SHIFT + 1, 1);
5681 uint32_t negf_real = flip ^ negf_imag;
5725 void *vg, float_status *status, uint32_t desc)
5729 uint32_t fpcr_ah = extract32(desc, SIMD_DATA_SHIFT + 2, 1);
5730 uint32_t negf_imag = extract32(desc, SIMD_DATA_SHIFT + 1, 1);
5731 uint32_t negf_real = flip ^ negf_imag;
6087 int msize, uint32_t mtedesc, uintptr_t ra)
6135 uint32_t desc, const uintptr_t retaddr,
6136 const int esz, const int msz, const int N, uint32_t mtedesc,
6282 uint32_t desc, const uintptr_t ra,
6287 uint32_t mtedesc = desc >> (SIMD_DATA_SHIFT + SVE_MTEDESC_SHIFT);
6304 target_ulong addr, uint32_t desc) \
6310 target_ulong addr, uint32_t desc) \
6318 target_ulong addr, uint32_t desc) \
6324 target_ulong addr, uint32_t desc) \
6330 target_ulong addr, uint32_t desc) \
6336 target_ulong addr, uint32_t desc) \
6370 target_ulong addr, uint32_t desc) \
6376 target_ulong addr, uint32_t desc) \
6384 target_ulong addr, uint32_t desc) \
6390 target_ulong addr, uint32_t desc) \
6396 target_ulong addr, uint32_t desc) \
6402 target_ulong addr, uint32_t desc) \
6463 uint32_t desc, const uintptr_t retaddr, uint32_t mtedesc,
6647 uint32_t desc, const uintptr_t retaddr,
6652 uint32_t mtedesc = desc >> (SIMD_DATA_SHIFT + SVE_MTEDESC_SHIFT);
6670 target_ulong addr, uint32_t desc) \
6676 target_ulong addr, uint32_t desc) \
6682 target_ulong addr, uint32_t desc) \
6688 target_ulong addr, uint32_t desc) \
6696 target_ulong addr, uint32_t desc) \
6702 target_ulong addr, uint32_t desc) \
6708 target_ulong addr, uint32_t desc) \
6714 target_ulong addr, uint32_t desc) \
6720 target_ulong addr, uint32_t desc) \
6726 target_ulong addr, uint32_t desc) \
6732 target_ulong addr, uint32_t desc) \
6738 target_ulong addr, uint32_t desc) \
6773 uint32_t desc, const uintptr_t retaddr,
6774 const int esz, const int msz, const int N, uint32_t mtedesc,
6905 uint32_t desc, const uintptr_t ra,
6910 uint32_t mtedesc = desc >> (SIMD_DATA_SHIFT + SVE_MTEDESC_SHIFT);
6927 target_ulong addr, uint32_t desc) \
6933 target_ulong addr, uint32_t desc) \
6941 target_ulong addr, uint32_t desc) \
6947 target_ulong addr, uint32_t desc) \
6953 target_ulong addr, uint32_t desc) \
6959 target_ulong addr, uint32_t desc) \
7012 return *(uint32_t *)(reg + H1_4(reg_ofs));
7022 return (uint32_t)*(uint64_t *)(reg + reg_ofs);
7037 target_ulong base, uint32_t desc, uintptr_t retaddr,
7038 uint32_t mtedesc, int esize, int msize,
7103 target_ulong base, uint32_t desc, uintptr_t retaddr,
7108 uint32_t mtedesc = desc >> (SIMD_DATA_SHIFT + SVE_MTEDESC_SHIFT);
7124 void *vm, target_ulong base, uint32_t desc) \
7130 void *vm, target_ulong base, uint32_t desc) \
7138 void *vm, target_ulong base, uint32_t desc) \
7144 void *vm, target_ulong base, uint32_t desc) \
7228 target_ulong base, uint32_t desc, uintptr_t retaddr,
7229 uint32_t mtedesc, const int esz, const int msz,
7315 target_ulong base, uint32_t desc, uintptr_t retaddr,
7321 uint32_t mtedesc = desc >> (SIMD_DATA_SHIFT + SVE_MTEDESC_SHIFT);
7338 void *vm, target_ulong base, uint32_t desc) \
7345 void *vm, target_ulong base, uint32_t desc) \
7354 void *vm, target_ulong base, uint32_t desc) \
7361 void *vm, target_ulong base, uint32_t desc) \
7435 target_ulong base, uint32_t desc, uintptr_t retaddr,
7436 uint32_t mtedesc, int esize, int msize,
7520 target_ulong base, uint32_t desc, uintptr_t retaddr,
7525 uint32_t mtedesc = desc >> (SIMD_DATA_SHIFT + SVE_MTEDESC_SHIFT);
7541 void *vm, target_ulong base, uint32_t desc) \
7547 void *vm, target_ulong base, uint32_t desc) \
7555 void *vm, target_ulong base, uint32_t desc) \
7561 void *vm, target_ulong base, uint32_t desc) \
7614 uint32_t png, intptr_t reg_max,
7733 int esize, uint32_t mtedesc,
7773 uint32_t png, uint32_t desc,
7780 uint32_t mtedesc = desc >> (SIMD_DATA_SHIFT + SVE_MTEDESC_SHIFT);
7915 uint32_t png, uint32_t desc)
7923 target_ulong addr, uint32_t png, \
7924 uint32_t desc) \
7930 target_ulong addr, uint32_t png, \
7931 uint32_t desc) \
7945 uint32_t png, uint32_t desc,
7952 uint32_t mtedesc = desc >> (SIMD_DATA_SHIFT + SVE_MTEDESC_SHIFT);
8074 uint32_t png, uint32_t desc)
8082 target_ulong addr, uint32_t png, \
8083 uint32_t desc) \
8089 target_ulong addr, uint32_t png, \
8090 uint32_t desc) \
8102 void HELPER(sve2_eor3)(void *vd, void *vn, void *vm, void *vk, uint32_t desc)
8112 void HELPER(sve2_bcax)(void *vd, void *vn, void *vm, void *vk, uint32_t desc)
8122 void HELPER(sve2_bsl1n)(void *vd, void *vn, void *vm, void *vk, uint32_t desc)
8132 void HELPER(sve2_bsl2n)(void *vd, void *vn, void *vm, void *vk, uint32_t desc)
8142 void HELPER(sve2_nbsl)(void *vd, void *vn, void *vm, void *vk, uint32_t desc)
8172 static inline uint32_t do_match(void *vd, void *vn, void *vm, void *vg,
8173 uint32_t desc, int esz, bool nmatch)
8177 uint32_t flags = PREDTEST_INIT;
8203 uint32_t HELPER(NAME)(void *vd, void *vn, void *vm, void *vg, uint32_t desc) \
8217 uint32_t desc)
8222 uint32_t *d = vd, *n = vn, *m = vm;
8240 uint32_t nn = n[H4(i >> 2)];
8254 uint32_t desc)
8322 void HELPER(sve2_histseg)(void *vd, void *vn, void *vm, uint32_t desc)
8347 void HELPER(sve2_xar_b)(void *vd, void *vn, void *vm, uint32_t desc)
8361 void HELPER(sve2_xar_h)(void *vd, void *vn, void *vm, uint32_t desc)
8375 void HELPER(sve2_xar_s)(void *vd, void *vn, void *vm, uint32_t desc)
8379 uint32_t *d = vd, *n = vn, *m = vm;
8387 float_status *status, uint32_t desc)
8425 float_status *status, uint32_t desc)
8462 float_status *status, uint32_t desc) \
8478 DO_FCVTNT(sve_bfcvtnt, uint32_t, uint16_t, H1_4, H1_2, float32_to_bfloat16)
8479 DO_FCVTNT(sve2_fcvtnt_sh, uint32_t, uint16_t, H1_4, H1_2, sve_f32_to_f16)
8480 DO_FCVTNT(sve2_fcvtnt_ds, uint64_t, uint32_t, H1_8, H1_4, float64_to_float32)
8484 float_status *status, uint32_t desc) \
8500 DO_FCVTLT(sve2_fcvtlt_hs, uint32_t, uint16_t, H1_4, H1_2, sve_f16_to_f32)
8501 DO_FCVTLT(sve2_fcvtlt_sd, uint64_t, uint32_t, H1_8, H1_4, float32_to_float64)
8506 void HELPER(pext)(void *vd, uint32_t png, uint32_t desc)