This patch series implements support for the RISC-V fixed-length vector
(VLS) calling convention variant as specified in the RISC-V ELF psABI.
The implementation introduces the ABI_VLEN concept to ensure ABI stability
across different vector length configurations.
Background
==========
The RISC-V vector extension supports both scalable (VLS) and fixed-length
vectors. For fixed-length vectors, the calling convention needs to account
for different ABI_VLEN values, which represent the minimum vector length
guaranteed by the ABI. This is separate from the hardware's actual VLEN
(defined by ZVL*B extensions) to ensure binary compatibility.
For example, a 256-bit vector type (int32x8_t):
- With ABI_VLEN=128: passed in 2 vector registers (LMUL 2)
- With ABI_VLEN=256: passed in 1 vector register (LMUL 1)
- With ABI_VLEN=512: passed in 1 vector register (LMUL 1)
Implementation Overview
=======================
This series consists of three patches:
Patch 1/3: Increase NUM_ABI_IDS to support RISC-V VLS calling convention
variants
- Increases NUM_ABI_IDS from 8 to 12 in the GCC function ABI
infrastructure
- Required to track multiple VLS calling convention variants based on
different ABI_VLEN values
Patch 2/3: Implement standard fixed-length vector calling convention variant
- Implements the core VLS calling convention logic
- Adds support for multiple ABI_VLEN values (32, 64, 128, 256, 512,
1024, 2048, 4096, 8192, 16384 bits)
- Introduces new helper functions for VLS argument passing
- Handles fixed-length vector types in aggregates (structs/unions)
- Adds attribute support for specifying VLS calling conventions
Patch 3/3: Add testsuite for fixed-length vector calling convention variant
- Comprehensive test coverage with 406 test files
- Tests all combinations of ABI_VLEN (32/64/128/256/512) and XLEN (32/64)
- Covers various scenarios: single vectors, structs, unions, register
exhaustion, mixed integer/floating-point vectors
- Validates correct argument passing and return value handling
Testing
=======
The implementation has been tested with the comprehensive testsuite included
in patch 3/3, covering:
- Different vector sizes (32, 64, 128, 256 bits)
- Various ABI_VLEN configurations
- Both RV32 and RV64 targets
- Complex scenarios including structs with multiple vectors, unions, and
register pressure situations
Reference
=========
RISC-V ELF psABI specification:
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/418
Changes since V1
=========
- Adding check_only parameter for several functions to make sure we
won't emit warnings during checking function ABI.
Kito Cheng (4):
Increase NUM_ABI_IDS to support RISC-V VLS calling convention variants
RISC-V: Implement standard fixed-length vector calling convention
variant
RISC-V: Add testsuite for fixed-length vector calling convention
variant [Part 1]
RISC-V: Add testsuite for fixed-length vector calling convention
variant [Part 2]
gcc/config/riscv/riscv.cc | 452 ++++++++++++++++--
gcc/config/riscv/riscv.h | 13 +
gcc/function-abi.h | 2 +-
.../abi-vlen-128-xlen-32/test_128bit_vector.c | 13 +
.../abi-vlen-128-xlen-32/test_256bit_vector.c | 13 +
.../abi-vlen-128-xlen-32/test_32bit_vector.c | 15 +
.../abi-vlen-128-xlen-32/test_64bit_vector.c | 15 +
.../abi-vlen-128-xlen-32/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 18 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 13 +
.../test_equivalent_struct.c | 13 +
.../test_four_registers.c | 13 +
.../test_fp_vs_int_vectors.c | 16 +
.../test_large_vector_small_abi_vlen.c | 13 +
.../abi-vlen-128-xlen-32/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-128-xlen-32/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 13 +
.../test_multiple_unions.c | 15 +
.../test_multiple_vectors.c | 17 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 45 ++
.../test_register_exhaustion_mixed.c | 39 ++
.../test_register_pressure_scenarios.c | 21 +
.../test_same_vectors_struct.c | 13 +
.../abi-vlen-128-xlen-32/test_simple_union.c | 15 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 13 +
.../test_struct_eight_128bit_vectors.c | 25 +
.../test_struct_five_256bit_vectors.c | 15 +
.../test_struct_four_256bit_vectors.c | 15 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-128-xlen-32/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 13 +
.../abi-vlen-128-xlen-64/test_128bit_vector.c | 13 +
.../abi-vlen-128-xlen-64/test_256bit_vector.c | 13 +
.../abi-vlen-128-xlen-64/test_32bit_vector.c | 15 +
.../abi-vlen-128-xlen-64/test_64bit_vector.c | 15 +
.../abi-vlen-128-xlen-64/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 18 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 13 +
.../test_equivalent_struct.c | 13 +
.../test_four_registers.c | 13 +
.../test_fp_vs_int_vectors.c | 16 +
.../test_large_vector_small_abi_vlen.c | 13 +
.../abi-vlen-128-xlen-64/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-128-xlen-64/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 13 +
.../test_multiple_unions.c | 17 +
.../test_multiple_vectors.c | 17 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 45 ++
.../test_register_exhaustion_mixed.c | 39 ++
.../test_register_pressure_scenarios.c | 21 +
.../test_same_vectors_struct.c | 13 +
.../abi-vlen-128-xlen-64/test_simple_union.c | 17 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 13 +
.../test_struct_eight_128bit_vectors.c | 25 +
.../test_struct_five_256bit_vectors.c | 15 +
.../test_struct_four_256bit_vectors.c | 15 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-128-xlen-64/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 13 +
.../abi-vlen-256-xlen-32/test_128bit_vector.c | 13 +
.../abi-vlen-256-xlen-32/test_256bit_vector.c | 13 +
.../abi-vlen-256-xlen-32/test_32bit_vector.c | 15 +
.../abi-vlen-256-xlen-32/test_64bit_vector.c | 15 +
.../abi-vlen-256-xlen-32/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 18 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 13 +
.../test_equivalent_struct.c | 13 +
.../test_four_registers.c | 13 +
.../test_fp_vs_int_vectors.c | 16 +
.../test_large_vector_small_abi_vlen.c | 13 +
.../abi-vlen-256-xlen-32/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-256-xlen-32/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 13 +
.../test_multiple_unions.c | 15 +
.../test_multiple_vectors.c | 17 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 45 ++
.../test_register_exhaustion_mixed.c | 39 ++
.../test_register_pressure_scenarios.c | 21 +
.../test_same_vectors_struct.c | 13 +
.../abi-vlen-256-xlen-32/test_simple_union.c | 15 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 13 +
.../test_struct_eight_128bit_vectors.c | 25 +
.../test_struct_five_256bit_vectors.c | 19 +
.../test_struct_four_256bit_vectors.c | 17 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-256-xlen-32/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 13 +
.../abi-vlen-256-xlen-64/test_128bit_vector.c | 13 +
.../abi-vlen-256-xlen-64/test_256bit_vector.c | 13 +
.../abi-vlen-256-xlen-64/test_32bit_vector.c | 15 +
.../abi-vlen-256-xlen-64/test_64bit_vector.c | 15 +
.../abi-vlen-256-xlen-64/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 18 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 13 +
.../test_equivalent_struct.c | 13 +
.../test_four_registers.c | 13 +
.../test_fp_vs_int_vectors.c | 16 +
.../test_large_vector_small_abi_vlen.c | 13 +
.../abi-vlen-256-xlen-64/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-256-xlen-64/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 13 +
.../test_multiple_unions.c | 17 +
.../test_multiple_vectors.c | 17 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 45 ++
.../test_register_exhaustion_mixed.c | 39 ++
.../test_register_pressure_scenarios.c | 21 +
.../test_same_vectors_struct.c | 13 +
.../abi-vlen-256-xlen-64/test_simple_union.c | 17 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 13 +
.../test_struct_eight_128bit_vectors.c | 25 +
.../test_struct_five_256bit_vectors.c | 19 +
.../test_struct_four_256bit_vectors.c | 17 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-256-xlen-64/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 13 +
.../abi-vlen-32-xlen-32/test_128bit_vector.c | 13 +
.../abi-vlen-32-xlen-32/test_256bit_vector.c | 13 +
.../abi-vlen-32-xlen-32/test_32bit_vector.c | 15 +
.../abi-vlen-32-xlen-32/test_64bit_vector.c | 13 +
.../abi-vlen-32-xlen-32/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 16 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 15 +
.../test_equivalent_struct.c | 13 +
.../abi-vlen-32-xlen-32/test_four_registers.c | 15 +
.../test_fp_vs_int_vectors.c | 14 +
.../test_large_vector_small_abi_vlen.c | 15 +
.../abi-vlen-32-xlen-32/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-32-xlen-32/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 15 +
.../test_multiple_unions.c | 15 +
.../test_multiple_vectors.c | 15 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 21 +
.../test_register_exhaustion_mixed.c | 15 +
.../test_register_pressure_scenarios.c | 19 +
.../test_same_vectors_struct.c | 15 +
.../abi-vlen-32-xlen-32/test_simple_union.c | 15 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 15 +
.../test_struct_eight_128bit_vectors.c | 15 +
.../test_struct_five_256bit_vectors.c | 15 +
.../test_struct_four_256bit_vectors.c | 15 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-32-xlen-32/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 15 +
.../abi-vlen-32-xlen-64/test_128bit_vector.c | 13 +
.../abi-vlen-32-xlen-64/test_256bit_vector.c | 13 +
.../abi-vlen-32-xlen-64/test_32bit_vector.c | 15 +
.../abi-vlen-32-xlen-64/test_64bit_vector.c | 13 +
.../abi-vlen-32-xlen-64/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 16 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 15 +
.../test_equivalent_struct.c | 13 +
.../abi-vlen-32-xlen-64/test_four_registers.c | 15 +
.../test_fp_vs_int_vectors.c | 14 +
.../test_large_vector_small_abi_vlen.c | 15 +
.../abi-vlen-32-xlen-64/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-32-xlen-64/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 15 +
.../test_multiple_unions.c | 17 +
.../test_multiple_vectors.c | 15 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 21 +
.../test_register_exhaustion_mixed.c | 15 +
.../test_register_pressure_scenarios.c | 19 +
.../test_same_vectors_struct.c | 15 +
.../abi-vlen-32-xlen-64/test_simple_union.c | 17 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 15 +
.../test_struct_eight_128bit_vectors.c | 15 +
.../test_struct_five_256bit_vectors.c | 15 +
.../test_struct_four_256bit_vectors.c | 15 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-32-xlen-64/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 15 +
.../abi-vlen-512-xlen-32/test_128bit_vector.c | 13 +
.../abi-vlen-512-xlen-32/test_256bit_vector.c | 13 +
.../abi-vlen-512-xlen-32/test_32bit_vector.c | 15 +
.../abi-vlen-512-xlen-32/test_64bit_vector.c | 15 +
.../abi-vlen-512-xlen-32/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 18 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 13 +
.../test_equivalent_struct.c | 13 +
.../test_four_registers.c | 13 +
.../test_fp_vs_int_vectors.c | 16 +
.../test_large_vector_small_abi_vlen.c | 13 +
.../abi-vlen-512-xlen-32/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-512-xlen-32/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 13 +
.../test_multiple_unions.c | 15 +
.../test_multiple_vectors.c | 17 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 45 ++
.../test_register_exhaustion_mixed.c | 39 ++
.../test_register_pressure_scenarios.c | 21 +
.../test_same_vectors_struct.c | 13 +
.../abi-vlen-512-xlen-32/test_simple_union.c | 15 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 13 +
.../test_struct_eight_128bit_vectors.c | 25 +
.../test_struct_five_256bit_vectors.c | 19 +
.../test_struct_four_256bit_vectors.c | 17 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-512-xlen-32/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 13 +
.../abi-vlen-512-xlen-64/test_128bit_vector.c | 13 +
.../abi-vlen-512-xlen-64/test_256bit_vector.c | 13 +
.../abi-vlen-512-xlen-64/test_32bit_vector.c | 15 +
.../abi-vlen-512-xlen-64/test_64bit_vector.c | 15 +
.../abi-vlen-512-xlen-64/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 18 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 13 +
.../test_equivalent_struct.c | 13 +
.../test_four_registers.c | 13 +
.../test_fp_vs_int_vectors.c | 16 +
.../test_large_vector_small_abi_vlen.c | 13 +
.../abi-vlen-512-xlen-64/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-512-xlen-64/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 13 +
.../test_multiple_unions.c | 17 +
.../test_multiple_vectors.c | 17 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 45 ++
.../test_register_exhaustion_mixed.c | 39 ++
.../test_register_pressure_scenarios.c | 21 +
.../test_same_vectors_struct.c | 13 +
.../abi-vlen-512-xlen-64/test_simple_union.c | 17 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 13 +
.../test_struct_eight_128bit_vectors.c | 25 +
.../test_struct_five_256bit_vectors.c | 19 +
.../test_struct_four_256bit_vectors.c | 17 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-512-xlen-64/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 13 +
.../abi-vlen-64-xlen-32/test_128bit_vector.c | 13 +
.../abi-vlen-64-xlen-32/test_256bit_vector.c | 13 +
.../abi-vlen-64-xlen-32/test_32bit_vector.c | 15 +
.../abi-vlen-64-xlen-32/test_64bit_vector.c | 15 +
.../abi-vlen-64-xlen-32/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 18 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 15 +
.../test_equivalent_struct.c | 13 +
.../abi-vlen-64-xlen-32/test_four_registers.c | 13 +
.../test_fp_vs_int_vectors.c | 16 +
.../test_large_vector_small_abi_vlen.c | 13 +
.../abi-vlen-64-xlen-32/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-64-xlen-32/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 15 +
.../test_multiple_unions.c | 15 +
.../test_multiple_vectors.c | 15 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 29 ++
.../test_register_exhaustion_mixed.c | 23 +
.../test_register_pressure_scenarios.c | 21 +
.../test_same_vectors_struct.c | 15 +
.../abi-vlen-64-xlen-32/test_simple_union.c | 15 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 15 +
.../test_struct_eight_128bit_vectors.c | 15 +
.../test_struct_five_256bit_vectors.c | 15 +
.../test_struct_four_256bit_vectors.c | 15 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-64-xlen-32/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 15 +
.../abi-vlen-64-xlen-64/test_128bit_vector.c | 13 +
.../abi-vlen-64-xlen-64/test_256bit_vector.c | 13 +
.../abi-vlen-64-xlen-64/test_32bit_vector.c | 15 +
.../abi-vlen-64-xlen-64/test_64bit_vector.c | 15 +
.../abi-vlen-64-xlen-64/test_all_mixed.c | 13 +
.../test_call_mixed_function.c | 11 +
.../test_different_vector_elements.c | 18 +
.../test_different_vectors_struct.c | 15 +
.../test_different_width_vectors_struct.c | 15 +
.../test_equivalent_struct.c | 13 +
.../abi-vlen-64-xlen-64/test_four_registers.c | 13 +
.../test_fp_vs_int_vectors.c | 16 +
.../test_large_vector_small_abi_vlen.c | 13 +
.../abi-vlen-64-xlen-64/test_mixed_args.c | 13 +
.../test_mixed_float_vector.c | 13 +
.../test_mixed_int_vector.c | 13 +
.../abi-vlen-64-xlen-64/test_mixed_struct.c | 15 +
.../test_mixed_struct_advanced.c | 15 +
.../test_mixed_vector_types_struct.c | 15 +
.../test_multiple_unions.c | 17 +
.../test_multiple_vectors.c | 15 +
.../test_multiple_with_small_abi_vlen.c | 18 +
.../test_register_exhaustion.c | 29 ++
.../test_register_exhaustion_mixed.c | 23 +
.../test_register_pressure_scenarios.c | 21 +
.../test_same_vectors_struct.c | 15 +
.../abi-vlen-64-xlen-64/test_simple_union.c | 17 +
.../test_single_register.c | 13 +
.../test_single_vector_struct.c | 13 +
.../test_struct_different_abi_vlen.c | 15 +
.../test_struct_eight_128bit_vectors.c | 15 +
.../test_struct_five_256bit_vectors.c | 15 +
.../test_struct_four_256bit_vectors.c | 15 +
.../test_struct_nine_128bit_vectors.c | 15 +
.../abi-vlen-64-xlen-64/test_two_registers.c | 15 +
.../test_vector_array_struct.c | 15 +
.../rvv/vls-cc/common/test_128bit_vector.h | 13 +
.../rvv/vls-cc/common/test_256bit_vector.h | 14 +
.../rvv/vls-cc/common/test_32bit_vector.h | 13 +
.../rvv/vls-cc/common/test_64bit_vector.h | 13 +
.../riscv/rvv/vls-cc/common/test_all_mixed.h | 13 +
.../vls-cc/common/test_call_mixed_function.h | 14 +
.../common/test_different_vector_elements.h | 10 +
.../common/test_different_vectors_struct.h | 9 +
.../test_different_width_vectors_struct.h | 27 ++
.../vls-cc/common/test_equivalent_struct.h | 14 +
.../rvv/vls-cc/common/test_four_registers.h | 11 +
.../vls-cc/common/test_fp_vs_int_vectors.h | 10 +
.../common/test_large_vector_small_abi_vlen.h | 13 +
.../riscv/rvv/vls-cc/common/test_mixed_args.h | 8 +
.../vls-cc/common/test_mixed_float_vector.h | 10 +
.../rvv/vls-cc/common/test_mixed_int_vector.h | 10 +
.../rvv/vls-cc/common/test_mixed_struct.h | 8 +
.../common/test_mixed_struct_advanced.h | 15 +
.../common/test_mixed_vector_types_struct.h | 23 +
.../rvv/vls-cc/common/test_multiple_unions.h | 14 +
.../rvv/vls-cc/common/test_multiple_vectors.h | 12 +
.../test_multiple_with_small_abi_vlen.h | 12 +
.../vls-cc/common/test_register_exhaustion.h | 15 +
.../common/test_register_exhaustion_mixed.h | 21 +
.../common/test_register_pressure_scenarios.h | 15 +
.../vls-cc/common/test_same_vectors_struct.h | 10 +
.../rvv/vls-cc/common/test_simple_union.h | 9 +
.../rvv/vls-cc/common/test_single_register.h | 11 +
.../vls-cc/common/test_single_vector_struct.h | 8 +
.../common/test_struct_different_abi_vlen.h | 17 +
.../common/test_struct_eight_128bit_vectors.h | 38 ++
.../common/test_struct_five_256bit_vectors.h | 33 ++
.../common/test_struct_four_256bit_vectors.h | 30 ++
.../common/test_struct_nine_128bit_vectors.h | 40 ++
.../rvv/vls-cc/common/test_two_registers.h | 8 +
.../vls-cc/common/test_vector_array_struct.h | 9 +
.../riscv/rvv/vls-cc/riscv-vls-cc.exp | 63 +++
.../vls-cc/test_128_abi_vlen_large_vector.c | 14 +
.../vls-cc/test_128_abi_vlen_medium_vector.c | 14 +
.../vls-cc/test_256_abi_vlen_large_vector.c | 14 +
.../test_256_abi_vlen_very_large_vector.c | 14 +
.../vls-cc/test_32_abi_vlen_medium_vector.c | 14 +
.../vls-cc/test_32_abi_vlen_small_vector.c | 14 +
.../vls-cc/test_64_abi_vlen_medium_vector.c | 14 +
.../vls-cc/test_64_abi_vlen_small_vector.c | 14 +
.../riscv/rvv/vls-cc/vls-cc-common.h | 125 +++++
409 files changed, 6964 insertions(+), 51 deletions(-)
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-32/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-128-xlen-64/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-32/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-256-xlen-64/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-32/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-32-xlen-64/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-32/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-512-xlen-64/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-32/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_128bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_256bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_32bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_64bit_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_all_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_call_mixed_function.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_different_vector_elements.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_different_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_different_width_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_equivalent_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_four_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_fp_vs_int_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_large_vector_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_mixed_args.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_mixed_float_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_mixed_int_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_mixed_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_mixed_struct_advanced.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_mixed_vector_types_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_multiple_unions.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_multiple_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_multiple_with_small_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_register_exhaustion.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_register_exhaustion_mixed.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_register_pressure_scenarios.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_same_vectors_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_simple_union.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_single_register.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_single_vector_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_struct_different_abi_vlen.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_struct_eight_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_struct_five_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_struct_four_256bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_struct_nine_128bit_vectors.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_two_registers.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/abi-vlen-64-xlen-64/test_vector_array_struct.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_128bit_vector.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_256bit_vector.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_32bit_vector.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_64bit_vector.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_all_mixed.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_call_mixed_function.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_different_vector_elements.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_different_vectors_struct.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_different_width_vectors_struct.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_equivalent_struct.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_four_registers.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_fp_vs_int_vectors.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_large_vector_small_abi_vlen.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_mixed_args.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_mixed_float_vector.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_mixed_int_vector.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_mixed_struct.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_mixed_struct_advanced.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_mixed_vector_types_struct.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_multiple_unions.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_multiple_vectors.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_multiple_with_small_abi_vlen.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_register_exhaustion.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_register_exhaustion_mixed.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_register_pressure_scenarios.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_same_vectors_struct.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_simple_union.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_single_register.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_single_vector_struct.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_struct_different_abi_vlen.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_struct_eight_128bit_vectors.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_struct_five_256bit_vectors.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_struct_four_256bit_vectors.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_struct_nine_128bit_vectors.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_two_registers.h
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/common/test_vector_array_struct.h
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/vls-cc/riscv-vls-cc.exp
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/test_128_abi_vlen_large_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/test_128_abi_vlen_medium_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/test_256_abi_vlen_large_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/test_256_abi_vlen_very_large_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/test_32_abi_vlen_medium_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/test_32_abi_vlen_small_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/test_64_abi_vlen_medium_vector.c
create mode 100644
gcc/testsuite/gcc.target/riscv/rvv/vls-cc/test_64_abi_vlen_small_vector.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/vls-cc/vls-cc-common.h
--
2.34.1