public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/vendors/riscv/heads/gcc-13-with-riscv-opts)] RISC-V: Support VLS modes vec_init auto-vectorization
@ 2023-09-18 18:28 Jeff Law
0 siblings, 0 replies; only message in thread
From: Jeff Law @ 2023-09-18 18:28 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:4a60e111a29f798eb4a0b478e375927447ee9b8a
commit 4a60e111a29f798eb4a0b478e375927447ee9b8a
Author: Juzhe-Zhong <juzhe.zhong@rivai.ai>
Date: Fri Sep 15 11:53:08 2023 +0800
RISC-V: Support VLS modes vec_init auto-vectorization
There are multiple SLP dump FAILs in vect testsuite.
After analysis, confirm we are missing vec_init for VLS modes.
This patch is not sufficient to fix those FAILs (We need more VLS patterns will send them soon).
This patch is the prerequsite patch for fixing those SLP FAILs.
Finish the whole regression.
Ok for trunk ?
gcc/ChangeLog:
* config/riscv/autovec.md: Extend VLS modes.
* config/riscv/vector.md: Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS vec_init tests.
* gcc.target/riscv/rvv/autovec/vls/init-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-3.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-4.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-5.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-6.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-7.c: New test.
* gcc.target/riscv/rvv/autovec/vls/repeat-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls/repeat-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls/repeat-3.c: New test.
* gcc.target/riscv/rvv/autovec/vls/repeat-4.c: New test.
* gcc.target/riscv/rvv/autovec/vls/repeat-5.c: New test.
* gcc.target/riscv/rvv/autovec/vls/repeat-6.c: New test.
* gcc.target/riscv/rvv/autovec/vls/repeat-7.c: New test.
* gcc.target/riscv/rvv/autovec/vls/repeat-8.c: New test.
* gcc.target/riscv/rvv/autovec/vls/repeat-9.c: New test.
(cherry picked from commit 1f9bf6f372da48c75d42f2669ba92f3fd4370fda)
Diff:
---
gcc/config/riscv/autovec.md | 2 +-
gcc/config/riscv/vector.md | 68 +--
.../gcc.target/riscv/rvv/autovec/vls/def.h | 143 +++++
.../gcc.target/riscv/rvv/autovec/vls/init-1.c | 46 ++
.../gcc.target/riscv/rvv/autovec/vls/init-2.c | 48 ++
.../gcc.target/riscv/rvv/autovec/vls/init-3.c | 27 +
.../gcc.target/riscv/rvv/autovec/vls/init-4.c | 48 ++
.../gcc.target/riscv/rvv/autovec/vls/init-5.c | 26 +
.../gcc.target/riscv/rvv/autovec/vls/init-6.c | 48 ++
.../gcc.target/riscv/rvv/autovec/vls/init-7.c | 26 +
.../gcc.target/riscv/rvv/autovec/vls/repeat-1.c | 654 +++++++++++++++++++++
.../gcc.target/riscv/rvv/autovec/vls/repeat-2.c | 654 +++++++++++++++++++++
.../gcc.target/riscv/rvv/autovec/vls/repeat-3.c | 337 +++++++++++
.../gcc.target/riscv/rvv/autovec/vls/repeat-4.c | 337 +++++++++++
.../gcc.target/riscv/rvv/autovec/vls/repeat-5.c | 178 ++++++
.../gcc.target/riscv/rvv/autovec/vls/repeat-6.c | 178 ++++++
.../gcc.target/riscv/rvv/autovec/vls/repeat-7.c | 53 ++
.../gcc.target/riscv/rvv/autovec/vls/repeat-8.c | 337 +++++++++++
.../gcc.target/riscv/rvv/autovec/vls/repeat-9.c | 178 ++++++
19 files changed, 3353 insertions(+), 35 deletions(-)
diff --git a/gcc/config/riscv/autovec.md b/gcc/config/riscv/autovec.md
index 63a8397617b..1c22f96ec26 100644
--- a/gcc/config/riscv/autovec.md
+++ b/gcc/config/riscv/autovec.md
@@ -373,7 +373,7 @@
;; -------------------------------------------------------------------------
(define_expand "vec_init<mode><vel>"
- [(match_operand:V 0 "register_operand")
+ [(match_operand:V_VLS 0 "register_operand")
(match_operand 1 "")]
"TARGET_VECTOR"
{
diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md
index 778ea9922b7..44a344796ea 100644
--- a/gcc/config/riscv/vector.md
+++ b/gcc/config/riscv/vector.md
@@ -1776,40 +1776,40 @@
(set_attr "mode" "<MODE>")])
(define_insn "@pred_merge<mode>_scalar"
- [(set (match_operand:VI_QHS 0 "register_operand" "=vd,vd")
- (if_then_else:VI_QHS
+ [(set (match_operand:V_VLSI_QHS 0 "register_operand" "=vd,vd")
+ (if_then_else:V_VLSI_QHS
(unspec:<VM>
[(match_operand 5 "vector_length_operand" " rK,rK")
(match_operand 6 "const_int_operand" " i, i")
(match_operand 7 "const_int_operand" " i, i")
(reg:SI VL_REGNUM)
(reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
- (vec_merge:VI_QHS
- (vec_duplicate:VI_QHS
+ (vec_merge:V_VLSI_QHS
+ (vec_duplicate:V_VLSI_QHS
(match_operand:<VEL> 3 "register_operand" " r, r"))
- (match_operand:VI_QHS 2 "register_operand" " vr,vr")
+ (match_operand:V_VLSI_QHS 2 "register_operand" " vr,vr")
(match_operand:<VM> 4 "register_operand" " vm,vm"))
- (match_operand:VI_QHS 1 "vector_merge_operand" " vu, 0")))]
+ (match_operand:V_VLSI_QHS 1 "vector_merge_operand" " vu, 0")))]
"TARGET_VECTOR"
"vmerge.vxm\t%0,%2,%3,%4"
[(set_attr "type" "vimerge")
(set_attr "mode" "<MODE>")])
(define_expand "@pred_merge<mode>_scalar"
- [(set (match_operand:VI_D 0 "register_operand")
- (if_then_else:VI_D
+ [(set (match_operand:V_VLSI_D 0 "register_operand")
+ (if_then_else:V_VLSI_D
(unspec:<VM>
[(match_operand 5 "vector_length_operand")
(match_operand 6 "const_int_operand")
(match_operand 7 "const_int_operand")
(reg:SI VL_REGNUM)
(reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
- (vec_merge:VI_D
- (vec_duplicate:VI_D
+ (vec_merge:V_VLSI_D
+ (vec_duplicate:V_VLSI_D
(match_operand:<VEL> 3 "reg_or_int_operand"))
- (match_operand:VI_D 2 "register_operand")
+ (match_operand:V_VLSI_D 2 "register_operand")
(match_operand:<VM> 4 "register_operand"))
- (match_operand:VI_D 1 "vector_merge_operand")))]
+ (match_operand:V_VLSI_D 1 "vector_merge_operand")))]
"TARGET_VECTOR"
{
if (riscv_vector::sew64_scalar_helper (
@@ -1827,41 +1827,41 @@
})
(define_insn "*pred_merge<mode>_scalar"
- [(set (match_operand:VI_D 0 "register_operand" "=vd,vd")
- (if_then_else:VI_D
+ [(set (match_operand:V_VLSI_D 0 "register_operand" "=vd,vd")
+ (if_then_else:V_VLSI_D
(unspec:<VM>
[(match_operand 5 "vector_length_operand" " rK,rK")
(match_operand 6 "const_int_operand" " i, i")
(match_operand 7 "const_int_operand" " i, i")
(reg:SI VL_REGNUM)
(reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
- (vec_merge:VI_D
- (vec_duplicate:VI_D
+ (vec_merge:V_VLSI_D
+ (vec_duplicate:V_VLSI_D
(match_operand:<VEL> 3 "register_operand" " r, r"))
- (match_operand:VI_D 2 "register_operand" " vr,vr")
+ (match_operand:V_VLSI_D 2 "register_operand" " vr,vr")
(match_operand:<VM> 4 "register_operand" " vm,vm"))
- (match_operand:VI_D 1 "vector_merge_operand" " vu, 0")))]
+ (match_operand:V_VLSI_D 1 "vector_merge_operand" " vu, 0")))]
"TARGET_VECTOR"
"vmerge.vxm\t%0,%2,%3,%4"
[(set_attr "type" "vimerge")
(set_attr "mode" "<MODE>")])
(define_insn "*pred_merge<mode>_extended_scalar"
- [(set (match_operand:VI_D 0 "register_operand" "=vd,vd")
- (if_then_else:VI_D
+ [(set (match_operand:V_VLSI_D 0 "register_operand" "=vd,vd")
+ (if_then_else:V_VLSI_D
(unspec:<VM>
[(match_operand 5 "vector_length_operand" " rK,rK")
(match_operand 6 "const_int_operand" " i, i")
(match_operand 7 "const_int_operand" " i, i")
(reg:SI VL_REGNUM)
(reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
- (vec_merge:VI_D
- (vec_duplicate:VI_D
+ (vec_merge:V_VLSI_D
+ (vec_duplicate:V_VLSI_D
(sign_extend:<VEL>
(match_operand:<VSUBEL> 3 "register_operand" " r, r")))
- (match_operand:VI_D 2 "register_operand" " vr,vr")
+ (match_operand:V_VLSI_D 2 "register_operand" " vr,vr")
(match_operand:<VM> 4 "register_operand" " vm,vm"))
- (match_operand:VI_D 1 "vector_merge_operand" " vu, 0")))]
+ (match_operand:V_VLSI_D 1 "vector_merge_operand" " vu, 0")))]
"TARGET_VECTOR"
"vmerge.vxm\t%0,%2,%3,%4"
[(set_attr "type" "vimerge")
@@ -7591,20 +7591,20 @@
;; -------------------------------------------------------------------------------
(define_insn "@pred_merge<mode>_scalar"
- [(set (match_operand:VF 0 "register_operand" "=vd,vd")
- (if_then_else:VF
+ [(set (match_operand:V_VLSF 0 "register_operand" "=vd,vd")
+ (if_then_else:V_VLSF
(unspec:<VM>
[(match_operand 5 "vector_length_operand" " rK,rK")
(match_operand 6 "const_int_operand" " i, i")
(match_operand 7 "const_int_operand" " i, i")
(reg:SI VL_REGNUM)
(reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
- (vec_merge:VF
- (vec_duplicate:VF
+ (vec_merge:V_VLSF
+ (vec_duplicate:V_VLSF
(match_operand:<VEL> 3 "register_operand" " f, f"))
- (match_operand:VF 2 "register_operand" " vr,vr")
+ (match_operand:V_VLSF 2 "register_operand" " vr,vr")
(match_operand:<VM> 4 "register_operand" " vm,vm"))
- (match_operand:VF 1 "vector_merge_operand" " vu, 0")))]
+ (match_operand:V_VLSF 1 "vector_merge_operand" " vu, 0")))]
"TARGET_VECTOR"
"vfmerge.vfm\t%0,%2,%3,%4"
[(set_attr "type" "vfmerge")
@@ -8213,8 +8213,8 @@
;; vfslide1 instructions
(define_insn "@pred_slide<ud><mode>"
- [(set (match_operand:VF 0 "register_operand" "<ud_constraint>")
- (unspec:VF
+ [(set (match_operand:V_VLSF 0 "register_operand" "<ud_constraint>")
+ (unspec:V_VLSF
[(unspec:<VM>
[(match_operand:<VM> 1 "vector_mask_operand" " vm, vm,Wc1,Wc1")
(match_operand 5 "vector_length_operand" " rK, rK, rK, rK")
@@ -8223,8 +8223,8 @@
(match_operand 8 "const_int_operand" " i, i, i, i")
(reg:SI VL_REGNUM)
(reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
- (match_operand:VF 2 "vector_merge_operand" " vu, 0, vu, 0")
- (match_operand:VF 3 "register_operand" " vr, vr, vr, vr")
+ (match_operand:V_VLSF 2 "vector_merge_operand" " vu, 0, vu, 0")
+ (match_operand:V_VLSF 3 "register_operand" " vr, vr, vr, vr")
(match_operand:<VEL> 4 "register_operand" " f, f, f, f")] VFSLIDES1))]
"TARGET_VECTOR"
"vfslide<ud>.vf\t%0,%3,%4%p1"
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
index 9ede7affd11..59f31d03be1 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
@@ -296,3 +296,146 @@ typedef double v512df __attribute__ ((vector_size (4096)));
r BIT_OP a[i]; \
return r; \
}
+
+#define VARS2(TYPE, NUM1, NUM2) TYPE var##NUM1, TYPE var##NUM2
+#define VARS4(TYPE, NUM1, NUM2, NUM3, NUM4) \
+ VARS2 (TYPE, NUM1, NUM2), VARS2 (TYPE, NUM3, NUM4)
+#define VARS8(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8) \
+ VARS4 (TYPE, NUM1, NUM2, NUM3, NUM4), VARS4 (TYPE, NUM5, NUM6, NUM7, NUM8)
+#define VARS16(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, \
+ NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16) \
+ VARS8 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8), \
+ VARS8 (TYPE, NUM9, NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)
+#define VARS32(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, \
+ NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, \
+ NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, \
+ NUM28, NUM29, NUM30, NUM31, NUM32) \
+ VARS16 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, \
+ NUM11, NUM12, NUM13, NUM14, NUM15, NUM16), \
+ VARS16 (TYPE, NUM17, NUM18, NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, \
+ NUM25, NUM26, NUM27, NUM28, NUM29, NUM30, NUM31, NUM32)
+#define VARS64(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, \
+ NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, \
+ NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, \
+ NUM28, NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, \
+ NUM37, NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, \
+ NUM46, NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, \
+ NUM55, NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, \
+ NUM64) \
+ VARS32 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, \
+ NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, \
+ NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, \
+ NUM29, NUM30, NUM31, NUM32), \
+ VARS32 (TYPE, NUM33, NUM34, NUM35, NUM36, NUM37, NUM38, NUM39, NUM40, \
+ NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, NUM47, NUM48, NUM49, \
+ NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, NUM56, NUM57, NUM58, \
+ NUM59, NUM60, NUM61, NUM62, NUM63, NUM64)
+#define VARS128(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, \
+ NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, \
+ NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, \
+ NUM28, NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, \
+ NUM37, NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, \
+ NUM46, NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, \
+ NUM55, NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, \
+ NUM64, NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, \
+ NUM73, NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, \
+ NUM82, NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, \
+ NUM91, NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, \
+ NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, \
+ NUM107, NUM108, NUM109, NUM110, NUM111, NUM112, NUM113, \
+ NUM114, NUM115, NUM116, NUM117, NUM118, NUM119, NUM120, \
+ NUM121, NUM122, NUM123, NUM124, NUM125, NUM126, NUM127, \
+ NUM128) \
+ VARS64 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, \
+ NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, \
+ NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, \
+ NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, \
+ NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, \
+ NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, \
+ NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64), \
+ VARS64 (TYPE, NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, \
+ NUM73, NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, \
+ NUM82, NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, \
+ NUM91, NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, \
+ NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, NUM107, \
+ NUM108, NUM109, NUM110, NUM111, NUM112, NUM113, NUM114, NUM115, \
+ NUM116, NUM117, NUM118, NUM119, NUM120, NUM121, NUM122, NUM123, \
+ NUM124, NUM125, NUM126, NUM127, NUM128)
+
+#define INIT2(NUM1, NUM2) var##NUM1, var##NUM2
+#define INIT4(NUM1, NUM2, NUM3, NUM4) INIT2 (NUM1, NUM2), INIT2 (NUM3, NUM4)
+#define INIT8(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8) \
+ INIT4 (NUM1, NUM2, NUM3, NUM4), INIT4 (NUM5, NUM6, NUM7, NUM8)
+#define INIT16(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, \
+ NUM11, NUM12, NUM13, NUM14, NUM15, NUM16) \
+ INIT4 (NUM1, NUM2, NUM3, NUM4), INIT4 (NUM5, NUM6, NUM7, NUM8)
+#define INIT32(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, \
+ NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, \
+ NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, \
+ NUM29, NUM30, NUM31, NUM32) \
+ INIT16 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11, \
+ NUM12, NUM13, NUM14, NUM15, NUM16), \
+ INIT16 (NUM17, NUM18, NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, \
+ NUM26, NUM27, NUM28, NUM29, NUM30, NUM31, NUM32)
+#define INIT64(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, \
+ NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, \
+ NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, \
+ NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, \
+ NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, \
+ NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, \
+ NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64) \
+ INIT32 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11, \
+ NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, NUM20, \
+ NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, NUM29, \
+ NUM30, NUM31, NUM32), \
+ INIT32 (NUM33, NUM34, NUM35, NUM36, NUM37, NUM38, NUM39, NUM40, NUM41, \
+ NUM42, NUM43, NUM44, NUM45, NUM46, NUM47, NUM48, NUM49, NUM50, \
+ NUM51, NUM52, NUM53, NUM54, NUM55, NUM56, NUM57, NUM58, NUM59, \
+ NUM60, NUM61, NUM62, NUM63, NUM64)
+#define INIT128(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, \
+ NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, \
+ NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, \
+ NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, \
+ NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, \
+ NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, \
+ NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64, \
+ NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, NUM73, \
+ NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, NUM82, \
+ NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, NUM91, \
+ NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, \
+ NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, \
+ NUM107, NUM108, NUM109, NUM110, NUM111, NUM112, NUM113, \
+ NUM114, NUM115, NUM116, NUM117, NUM118, NUM119, NUM120, \
+ NUM121, NUM122, NUM123, NUM124, NUM125, NUM126, NUM127, \
+ NUM128) \
+ INIT64 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11, \
+ NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, NUM20, \
+ NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, NUM29, \
+ NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, NUM38, \
+ NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, NUM47, \
+ NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, NUM56, \
+ NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64), \
+ INIT64 (NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, NUM73, \
+ NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, NUM82, \
+ NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, NUM91, \
+ NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, NUM100, \
+ NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, NUM107, NUM108, \
+ NUM109, NUM110, NUM111, NUM112, NUM113, NUM114, NUM115, NUM116, \
+ NUM117, NUM118, NUM119, NUM120, NUM121, NUM122, NUM123, NUM124, \
+ NUM125, NUM126, NUM127, NUM128)
+
+#define DEF_INIT(TYPE1, TYPE2, NUM, ...) \
+ void init_##TYPE1##_##TYPE2##_##NUM (VARS##NUM (TYPE2, __VA_ARGS__), \
+ TYPE2 *__restrict out) \
+ { \
+ TYPE1 v = {INIT##NUM (__VA_ARGS__)}; \
+ *(TYPE1 *) out = v; \
+ }
+
+#define DEF_REPEAT(TYPE1, TYPE2, NUM, ...) \
+ void init_##TYPE1##_##TYPE2##_##NUM (TYPE2 var0, TYPE2 var1, \
+ TYPE2 *__restrict out) \
+ { \
+ TYPE1 v = {__VA_ARGS__}; \
+ *(TYPE1 *) out = v; \
+ }
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
new file mode 100644
index 00000000000..aec2c6e5e5f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
@@ -0,0 +1,46 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2qi, int8_t, 2, 0, 1)
+DEF_INIT (v4qi, int8_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8qi, int8_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16qi, int8_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15)
+DEF_INIT (v32qi, int8_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64qi, int8_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128qi, int8_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
+DEF_INIT (v2uqi, uint8_t, 2, 0, 1)
+DEF_INIT (v4uqi, uint8_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8uqi, uint8_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16uqi, uint8_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15)
+DEF_INIT (v32uqi, uint8_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64uqi, uint8_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128uqi, uint8_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127)
+
+/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
new file mode 100644
index 00000000000..f9c58aef553
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
@@ -0,0 +1,48 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl256b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2hi, int16_t, 2, 0, 1)
+DEF_INIT (v4hi, int16_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8hi, int16_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16hi, int16_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15)
+DEF_INIT (v32hi, int16_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64hi, int16_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128hi, int16_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127)
+DEF_INIT (v2uhi, uint16_t, 2, 0, 1)
+DEF_INIT (v4uhi, uint16_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8uhi, uint16_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16uhi, uint16_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15)
+DEF_INIT (v32uhi, uint16_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31)
+DEF_INIT (v64uhi, uint16_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128uhi, uint16_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127)
+
+/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
new file mode 100644
index 00000000000..eb970c7b042
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl256b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2hf, _Float16, 2, 0, 1)
+DEF_INIT (v4hf, _Float16, 4, 0, 1, 2, 3)
+DEF_INIT (v8hf, _Float16, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16hf, _Float16, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15)
+DEF_INIT (v32hf, _Float16, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64hf, _Float16, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128hf, _Float16, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127)
+
+/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
new file mode 100644
index 00000000000..fedeb445a2b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
@@ -0,0 +1,48 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl512b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2si, int32_t, 2, 0, 1)
+DEF_INIT (v4si, int32_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8si, int32_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16si, int32_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15)
+DEF_INIT (v32si, int32_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64si, int32_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128si, int32_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127)
+DEF_INIT (v2usi, uint32_t, 2, 0, 1)
+DEF_INIT (v4usi, uint32_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8usi, uint32_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16usi, uint32_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15)
+DEF_INIT (v32usi, uint32_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31)
+DEF_INIT (v64usi, uint32_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128usi, uint32_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127)
+
+/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
new file mode 100644
index 00000000000..c93ac524c88
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl512b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2sf, float, 2, 0, 1)
+DEF_INIT (v4sf, float, 4, 0, 1, 2, 3)
+DEF_INIT (v8sf, float, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16sf, float, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15)
+DEF_INIT (v32sf, float, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64sf, float, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128sf, float, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
+
+/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
new file mode 100644
index 00000000000..304539f4868
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
@@ -0,0 +1,48 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl1024b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2di, int64_t, 2, 0, 1)
+DEF_INIT (v4di, int64_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8di, int64_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16di, int64_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15)
+DEF_INIT (v32di, int64_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64di, int64_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128di, int64_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127)
+DEF_INIT (v2udi, uint64_t, 2, 0, 1)
+DEF_INIT (v4udi, uint64_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8udi, uint64_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16udi, uint64_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15)
+DEF_INIT (v32udi, uint64_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31)
+DEF_INIT (v64udi, uint64_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128udi, uint64_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127)
+
+/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
new file mode 100644
index 00000000000..4b966010dca
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl1024b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2df, double, 2, 0, 1)
+DEF_INIT (v4df, double, 4, 0, 1, 2, 3)
+DEF_INIT (v8df, double, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16df, double, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15)
+DEF_INIT (v32df, double, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64df, double, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128df, double, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
+
+/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
new file mode 100644
index 00000000000..2c831f9f228
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
@@ -0,0 +1,654 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256qi, int8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512qi, int8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024qi, int8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (
+ v2048qi, int8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v4096qi, int8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
new file mode 100644
index 00000000000..a465bb6ea64
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
@@ -0,0 +1,654 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256uqi, uint8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512uqi, uint8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024uqi, uint8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (
+ v2048uqi, uint8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v4096uqi, uint8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
new file mode 100644
index 00000000000..9c9899b31dd
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
@@ -0,0 +1,337 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4hi, int16_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256hi, int16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512hi, int16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024hi, int16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (
+ v2048hi, int16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
new file mode 100644
index 00000000000..17bc31367d6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
@@ -0,0 +1,337 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4uhi, uint16_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1)
+DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256uhi, uint16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512uhi, uint16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024uhi, uint16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (
+ v2048uhi, uint16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
new file mode 100644
index 00000000000..6398f2476ad
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
@@ -0,0 +1,178 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4si, int32_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8si, int32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16si, int32_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32si, int32_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64si, int32_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128si, int32_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256si, int32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512si, int32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024si, int32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
new file mode 100644
index 00000000000..960a164112f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
@@ -0,0 +1,178 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4usi, uint32_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1)
+DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256usi, uint32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512usi, uint32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024usi, uint32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
new file mode 100644
index 00000000000..98be878daed
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
@@ -0,0 +1,53 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v16di, int64_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32di, int64_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64di, int64_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128di, int64_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256di, int64_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmerge\.vxm} 5 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
new file mode 100644
index 00000000000..b8d952ef6ad
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
@@ -0,0 +1,337 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4hf, _Float16, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256hf, _Float16, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512hf, _Float16, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024hf, _Float16, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (
+ v2048hf, _Float16, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
+/* { dg-final { scan-assembler-not {vfslide1down\.vf} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
new file mode 100644
index 00000000000..1db68fcf3fe
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
@@ -0,0 +1,178 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4sf, float, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8sf, float, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16sf, float, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32sf, float, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64sf, float, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128sf, float, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256sf, float, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512sf, float, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024sf, float, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
+/* { dg-final { scan-assembler-not {vfslide1down\.vf} } } */
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-09-18 18:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-18 18:28 [gcc(refs/vendors/riscv/heads/gcc-13-with-riscv-opts)] RISC-V: Support VLS modes vec_init auto-vectorization Jeff Law
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).