Repository: opencv
Issue: On ppc64le: warning: Implicit conversion between vector types (''vec_ushort8' (vector of 8 'unsigned short' values)' and ''const vec_uint4' (vector of 4 'unsigned int' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
Labels: bug,category: build/install,community help requested,platform: ppc (PowerPC)

### System Information

FreeBSD 14.0-CURRENT
LLVM 16.0.6

### Detailed description

When compiling OpenCV, there are thousands of warnings like:
```
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:52: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_double2' (vector of 2 'double' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                                   ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:35: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_int4' (vector of 4 'int' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                  ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:52: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_int4' (vector of 4 'int' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                                   ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:35: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_uint4' (vector of 4 'unsigned int' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                  ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:52: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_uint4' (vector of 4 'unsigned int' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                                   ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:35: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_short8' (vector of 8 'short' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                  ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:52: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_short8' (vector of 8 'short' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                                   ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:35: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_ushort8' (vector of 8 'unsigned short' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                  ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:52: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_ushort8' (vector of 8 'unsigned short' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                                   ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:35: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_char16' (vector of 16 'signed char' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                  ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:52: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_char16' (vector of 16 'signed char' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                                   ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:35: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_uchar16' (vector of 16 'unsigned char' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                  ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1143:52: warning: Implicit conversion between vector types (''vec_float4' (vector of 4 'float' values)' and ''const vec_uchar16' (vector of 16 'unsigned char' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float32x4(vec_mergesqo(vec_cvfo(a.val), vec_cvfo(b.val))); }
                                                   ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1146:31: warning: Implicit conversion between vector types (''__vector int' (vector of 4 'int' values)' and ''const vec_uint4' (vector of 4 'unsigned int' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float64x2(vec_ctdo(vec_mergeh(a.val, a.val))); }
                              ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1149:31: warning: Implicit conversion between vector types (''__vector int' (vector of 4 'int' values)' and ''const vec_uint4' (vector of 4 'unsigned int' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float64x2(vec_ctdo(vec_mergel(a.val, a.val))); }
                              ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1152:31: warning: Implicit conversion between vector types (''__vector float' (vector of 4 'float' values)' and ''const vec_double2' (vector of 2 'double' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float64x2(vec_cvfo(vec_mergeh(a.val, a.val))); }
                              ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1155:31: warning: Implicit conversion between vector types (''__vector float' (vector of 4 'float' values)' and ''const vec_double2' (vector of 2 'double' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float64x2(vec_cvfo(vec_mergel(a.val, a.val))); }
                              ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1158:30: warning: Implicit conversion between vector types (''vec_dword2' (vector of 2 'long long' values)' and ''const vec_uint4' (vector of 4 'unsigned int' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
{ return v_float64x2(vec_ctd(a.val)); }
                             ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1158:30: warning: Implicit conversion between vector types (''vec_dword2' (vector of 2 'long long' values)' and ''const vec_int4' (vector of 4 'int' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1158:30: warning: Implicit conversion between vector types (''vec_dword2' (vector of 2 'long long' values)' and ''const vec_udword2' (vector of 2 'unsigned long long' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1397:28: warning: Implicit conversion between vector types (''vec_ushort8' (vector of 8 'unsigned short' values)' and ''const vec_udword2' (vector of 2 'unsigned long long' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
    vec_st_l8(vec_mergesqe(vf16, vf16), ptr);
                           ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.6.0/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1397:34: warning: Implicit conversion between vector types (''vec_ushort8' (vector of 8 'unsigned short' values)' and ''const vec_udword2' (vector of 2 'unsigned long long' values)') is deprecated. In the future, the behavior implied by '-fno-lax-vector-conversions' will be the default. [-Wdeprecate-lax-vec-conv-all]
    vec_st_l8(vec_mergesqe(vf16, vf16), ptr);
```

### Steps to reproduce

`cd /usr/ports/graphics/opencv && make`

### Issue submission checklist

- [X] I report the issue, it's not a question
- [X] I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
- [X] I updated to the latest OpenCV version and the issue is still there
- [ ] There is reproducer code and related data files (videos, images, onnx, etc)