Skip to content

Commit 51bf6f2

Browse files
committed
mmx: loogson impl promotions over SIMDE_SHUFFLE_VECTOR_
1 parent 097dd12 commit 51bf6f2

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

simde/x86/mmx.h

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1467,18 +1467,17 @@ simde_mm_slli_pi16 (simde__m64 a, int count) {
14671467
simde__m64_private r_;
14681468
simde__m64_private a_ = simde__m64_to_private(a);
14691469

1470-
#if defined(SIMDE_VECTOR_SUBSCRIPT_SCALAR) && defined(SIMDE_BUG_CLANG_POWER9_16x4_BAD_SHIFT)
1470+
#if defined(SIMDE_MIPS_LOONGSON_MMI_NATIVE)
1471+
r_.mmi_i16 = psllh_s(a_.mmi_i16, count);
1472+
#elif defined(SIMDE_VECTOR_SUBSCRIPT_SCALAR) && defined(SIMDE_BUG_CLANG_POWER9_16x4_BAD_SHIFT)
14711473
if (HEDLEY_UNLIKELY(count > 15))
14721474
return simde_mm_setzero_si64();
14731475

14741476
r_.i16 = a_.i16 << HEDLEY_STATIC_CAST(int16_t, count);
14751477
#elif defined(SIMDE_VECTOR_SUBSCRIPT_SCALAR)
14761478
r_.i16 = a_.i16 << count;
1477-
#elif defined(SIMDE_VECTOR_SUBSCRIPT_SCALAR)
14781479
#elif defined(SIMDE_ARM_NEON_A32V7_NATIVE)
14791480
r_.neon_i16 = vshl_s16(a_.neon_i16, vmov_n_s16((int16_t) count));
1480-
#elif defined(SIMDE_MIPS_LOONGSON_MMI_NATIVE)
1481-
r_.mmi_i16 = psllh_s(a_.mmi_i16, b_.mmi_i16);
14821481
#else
14831482
SIMDE_VECTORIZE
14841483
for (size_t i = 0 ; i < (sizeof(r_.u16) / sizeof(r_.u16[0])) ; i++) {
@@ -2157,10 +2156,10 @@ simde_mm_unpackhi_pi8 (simde__m64 a, simde__m64 b) {
21572156

21582157
#if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
21592158
r_.neon_i8 = vzip2_s8(a_.neon_i8, b_.neon_i8);
2160-
#elif defined(SIMDE_SHUFFLE_VECTOR_)
2161-
r_.i8 = SIMDE_SHUFFLE_VECTOR_(8, 8, a_.i8, b_.i8, 4, 12, 5, 13, 6, 14, 7, 15);
21622159
#elif defined(SIMDE_MIPS_LOONGSON_MMI_NATIVE)
21632160
r_.mmi_i8 = punpckhbh_s(a_.mmi_i8, b_.mmi_i8);
2161+
#elif defined(SIMDE_SHUFFLE_VECTOR_)
2162+
r_.i8 = SIMDE_SHUFFLE_VECTOR_(8, 8, a_.i8, b_.i8, 4, 12, 5, 13, 6, 14, 7, 15);
21642163
#else
21652164
r_.i8[0] = a_.i8[4];
21662165
r_.i8[1] = b_.i8[4];

0 commit comments

Comments
 (0)