c-rhodes added inline comments.
================ Comment at: clang/test/Sema/attr-arm-sve-vector-bits.c:278-283 -// Test implicit conversion between SVE and GNU vector is invalid when -// __ARM_FEATURE_SVE_BITS != N -#if defined(__ARM_FEATURE_SVE_BITS) && __ARM_FEATURE_SVE_BITS == 512 -typedef int32_t int4 __attribute__((vector_size(16))); -svint32_t badcast(int4 x) { return x; } // expected-error {{returning 'int4' (vector of 4 'int32_t' values) from a function with incompatible result type 'svint32_t' (aka '__SVInt32_t')}} -#endif ---------------- I don't think this can be removed. The ACLE states "Whenever __ARM_FEATURE_SVE_BITS==N, GNUT implicitly converts to VLAT and VLAT implicitly converts to GNUT.". AFAIK lax vector conversions only apply to vectors of the same width, with GNU vectors for example the following is invalid regardless of lax vector conversions: ```typedef int8_t int8x16_t __attribute__((vector_size(16))); typedef int8_t int8x64_t __attribute__((vector_size(64))); int8x16_t foo(int8x64_t x) { return x; }``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91696/new/ https://reviews.llvm.org/D91696 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits