@@ -2764,8 +2764,7 @@ simde_mm_cmp_sd (simde__m128d a, simde__m128d b, const int imm8)
2764
2764
case SIMDE_CMP_GT_OQ :
2765
2765
case SIMDE_CMP_GT_OS :
2766
2766
#if defined(SIMDE_LOONGARCH_LASX_NATIVE )
2767
- t_ = __lsx_vfcmp_cle_d (a_ .lsx_f64 , b_ .lsx_f64 );
2768
- a_ .lsx_i64 = __lsx_vextrins_d (a_ .lsx_i64 , __lsx_vnor_v (t_ , t_ ), 0x00 );
2767
+ a_ .lsx_i64 = __lsx_vextrins_d (a_ .lsx_i64 , __lsx_vfcmp_clt_d (b_ .lsx_f64 , a_ .lsx_f64 ), 0x00 );
2769
2768
#else
2770
2769
a_ .i64 [0 ] = (a_ .f64 [0 ] > b_ .f64 [0 ]) ? ~INT64_C (0 ) : INT64_C (0 );
2771
2770
#endif
@@ -2934,8 +2933,7 @@ simde_mm_cmp_ss (simde__m128 a, simde__m128 b, const int imm8)
2934
2933
case SIMDE_CMP_GT_OQ :
2935
2934
case SIMDE_CMP_GT_OS :
2936
2935
#if defined(SIMDE_LOONGARCH_LASX_NATIVE )
2937
- t_ = __lsx_vfcmp_cle_s (a_ .lsx_f32 , b_ .lsx_f32 );
2938
- a_ .lsx_i64 = __lsx_vextrins_w (a_ .lsx_i64 , __lsx_vnor_v (t_ , t_ ), 0x00 );
2936
+ a_ .lsx_i64 = __lsx_vextrins_w (a_ .lsx_i64 , __lsx_vfcmp_clt_s (b_ .lsx_f32 , a_ .lsx_f32 ), 0x00 );
2939
2937
#else
2940
2938
a_ .i32 [0 ] = (a_ .f32 [0 ] > b_ .f32 [0 ]) ? ~INT32_C (0 ) : INT32_C (0 );
2941
2939
#endif
@@ -3175,8 +3173,7 @@ simde_mm256_cmp_pd
3175
3173
case SIMDE_CMP_GT_OQ :
3176
3174
case SIMDE_CMP_GT_OS :
3177
3175
#if defined(SIMDE_LOONGARCH_LASX_NATIVE )
3178
- t_ = __lasx_xvfcmp_cle_d (a_ .d256 , b_ .d256 );
3179
- r_ .i256 = __lasx_xvnor_v (t_ , t_ );
3176
+ r_ .i256 = __lasx_xvfcmp_clt_d (b_ .d256 , a_ .d256 );
3180
3177
#elif defined(SIMDE_VECTOR_SUBSCRIPT_OPS )
3181
3178
r_ .i64 = HEDLEY_REINTERPRET_CAST (__typeof__ (r_ .i64 ), (a_ .f64 > b_ .f64 ));
3182
3179
#else
0 commit comments