Fortran: Add deep copy mode to subreference array argument conversion.
Fortran testsuite updated to require vect128 for a vector mask zero test case.
A test case in GCC’s testsuite, vec-mask-zero-1.c, has been updated to require the vect128 capability. This is necessary because the test checks optimized GIMPLE for 128-bit vector types, and on some targets like SPARC, vector lowering splits these operations due to limited vector mode support. Requiring vect128 ensures the test’s final checks are performed only on targets that support the tested vector size, preventing spurious failures.
In Details
The test gcc.dg/tree-ssa/vec-mask-zero-1.c uses 128-bit vector types (V4SI, V4UI) and verifies their optimized GIMPLE output. On targets where vect_int is true but only smaller vector modes (e.g., 64-bit on SPARC) are supported, vector lowering splits the 128-bit operations. This changes the expected GIMPLE dump counts. By adding vect128 as a requirement, the test is now restricted to platforms supporting 128-bit vectors, ensuring the final dump checks are meaningful.
- GIMPLE
- GCC's three-value intermediate representation (IR), which is a lower-level, simpler form than the user's source code or the compiler's higher-level tree representation. It is used for many optimization passes.
- vector lowering
- The process in a compiler where high-level vector operations are transformed into sequences of machine instructions that the target processor can execute.
- V4SI
- A vector data type consisting of four signed integers. The exact size of each integer depends on the target architecture.
- vect128
- A compiler capability flag indicating support for 128-bit vector operations.