Skip to content

Commit bab65af

Browse files
author
Raghuveer Devulapalli
committed
Get rid of if constexpr
1 parent ae29f55 commit bab65af

File tree

1 file changed

+12
-24
lines changed

1 file changed

+12
-24
lines changed

src/avx512-64bit-common.h

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,18 @@ struct ymm_vector<float> {
136136
{
137137
return _mm256_set1_ps(v);
138138
}
139-
template <uint8_t mask>
139+
template <uint8_t mask, bool = (mask == 0b01010101)>
140140
static zmm_t shuffle(zmm_t zmm)
141141
{
142142
/* Hack!: have to make shuffles within 128-bit lanes work for both
143143
* 32-bit and 64-bit */
144-
if constexpr (mask == 0b01010101) {
145-
return _mm256_shuffle_ps(zmm, zmm, 0b10110001);
146-
}
147-
else {
148-
/* Not used, so far */
149-
return _mm256_shuffle_ps(zmm, zmm, mask);
150-
}
144+
return _mm256_shuffle_ps(zmm, zmm, 0b10110001);
145+
//if constexpr (mask == 0b01010101) {
146+
//}
147+
//else {
148+
// /* Not used, so far */
149+
// return _mm256_shuffle_ps(zmm, zmm, mask);
150+
//}
151151
}
152152
static void storeu(void *mem, zmm_t x)
153153
{
@@ -271,18 +271,12 @@ struct ymm_vector<uint32_t> {
271271
{
272272
return _mm256_set1_epi32(v);
273273
}
274-
template <uint8_t mask>
274+
template <uint8_t mask, bool = (mask == 0b01010101)>
275275
static zmm_t shuffle(zmm_t zmm)
276276
{
277277
/* Hack!: have to make shuffles within 128-bit lanes work for both
278278
* 32-bit and 64-bit */
279-
if constexpr (mask == 0b01010101) {
280-
return _mm256_shuffle_epi32(zmm, 0b10110001);
281-
}
282-
else {
283-
/* Not used, so far */
284-
return _mm256_shuffle_epi32(zmm, mask);
285-
}
279+
return _mm256_shuffle_epi32(zmm, 0b10110001);
286280
}
287281
static void storeu(void *mem, zmm_t x)
288282
{
@@ -406,18 +400,12 @@ struct ymm_vector<int32_t> {
406400
{
407401
return _mm256_set1_epi32(v);
408402
}
409-
template <uint8_t mask>
403+
template <uint8_t mask, bool = (mask == 0b01010101)>
410404
static zmm_t shuffle(zmm_t zmm)
411405
{
412406
/* Hack!: have to make shuffles within 128-bit lanes work for both
413407
* 32-bit and 64-bit */
414-
if constexpr (mask == 0b01010101) {
415-
return _mm256_shuffle_epi32(zmm, 0b10110001);
416-
}
417-
else {
418-
/* Not used, so far */
419-
return _mm256_shuffle_epi32(zmm, mask);
420-
}
408+
return _mm256_shuffle_epi32(zmm, 0b10110001);
421409
}
422410
static void storeu(void *mem, zmm_t x)
423411
{

0 commit comments

Comments
 (0)