Skip to content

Commit cea5dd8

Browse files
committed
arm neon ext: small adjustment to reduce risk of -Werror=maybe-uninitialized
1 parent f8f5abd commit cea5dd8

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

simde/arm/neon/ext.h

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,10 @@ simde_vext_f16(simde_float16x4_t a, simde_float16x4_t b, const int n)
5353
r_.sv64 = __riscv_vslideup_vx_f16m1(a_.sv64, b_.sv64, 4-n, 4);
5454
#else
5555
const size_t n_ = HEDLEY_STATIC_CAST(size_t, n);
56-
for (size_t i = 0 ; i < (sizeof(r_.values) / sizeof(r_.values[0])) ; i++) {
56+
const size_t len = sizeof(r_.values) / sizeof(r_.values[0]);
57+
for (size_t i = 0 ; i < len ; i++) {
5758
size_t src = i + n_;
58-
r_.values[i] = (src < (sizeof(r_.values) / sizeof(r_.values[0]))) ? a_.values[src] : b_.values[src & 3];
59+
r_.values[i] = (src < len) ? a_.values[src] : b_.values[src & 3];
5960
}
6061
#endif
6162
return simde_float16x4_from_private(r_);
@@ -500,9 +501,10 @@ simde_vextq_f16(simde_float16x8_t a, simde_float16x8_t b, const int n)
500501
r_.sv128 = __riscv_vslideup_vx_f16m1(a_.sv128, b_.sv128, 8-n, 8);
501502
#else
502503
const size_t n_ = HEDLEY_STATIC_CAST(size_t, n);
503-
for (size_t i = 0 ; i < (sizeof(r_.values) / sizeof(r_.values[0])) ; i++) {
504+
const size_t len = sizeof(r_.values) / sizeof(r_.values[0]);
505+
for (size_t i = 0 ; i < len ; i++) {
504506
size_t src = i + n_;
505-
r_.values[i] = (src < (sizeof(r_.values) / sizeof(r_.values[0]))) ? a_.values[src] : b_.values[src & 7];
507+
r_.values[i] = (src < len) ? a_.values[src] : b_.values[src & 7];
506508
}
507509
#endif
508510
return simde_float16x8_from_private(r_);
@@ -1106,9 +1108,10 @@ simde_vextq_p8(simde_poly8x16_t a, simde_poly8x16_t b, const int n)
11061108
b_ = simde_poly8x16_to_private(b),
11071109
r_ = a_;
11081110
const size_t n_ = HEDLEY_STATIC_CAST(size_t, n);
1109-
for (size_t i = 0 ; i < (sizeof(r_.values) / sizeof(r_.values[0])) ; i++) {
1111+
const size_t len = sizeof(r_.values) / sizeof(r_.values[0]);
1112+
for (size_t i = 0 ; i < len ; i++) {
11101113
size_t src = i + n_;
1111-
r_.values[i] = (src < (sizeof(r_.values) / sizeof(r_.values[0]))) ? a_.values[src] : b_.values[src & 15];
1114+
r_.values[i] = (src < len) ? a_.values[src] : b_.values[src & 15];
11121115
}
11131116
return simde_poly8x16_from_private(r_);
11141117
#endif
@@ -1132,9 +1135,10 @@ simde_vextq_p16(simde_poly16x8_t a, simde_poly16x8_t b, const int n)
11321135
b_ = simde_poly16x8_to_private(b),
11331136
r_ = a_;
11341137
const size_t n_ = HEDLEY_STATIC_CAST(size_t, n);
1135-
for (size_t i = 0 ; i < (sizeof(r_.values) / sizeof(r_.values[0])) ; i++) {
1138+
const size_t len = sizeof(r_.values) / sizeof(r_.values[0]);
1139+
for (size_t i = 0 ; i < len ; i++) {
11361140
size_t src = i + n_;
1137-
r_.values[i] = (src < (sizeof(r_.values) / sizeof(r_.values[0]))) ? a_.values[src] : b_.values[src & 7];
1141+
r_.values[i] = (src < len) ? a_.values[src] : b_.values[src & 7];
11381142
}
11391143
return simde_poly16x8_from_private(r_);
11401144
#endif

0 commit comments

Comments
 (0)