CMPNEQPD - CoMPare Not EQual Packed Double
CMPNEQPD xmm1, xmm2/m128 (S2
__m128d _mm_cmpneq_pd(__m128d a, __m128d b)
① != ②、または①②の一方or両方がNaNのとき全ビット1を、それ以外のとき全ビット0を③の対応するdoubleにセット
VCMPNEQPD xmm1, xmm2, xmm3/m128 (V1
__m128d _mm_cmpneq_pd(__m128d a, __m128d b)
① != ②、または①②の一方or両方がNaNのとき全ビット1を、それ以外のとき全ビット0を③の対応するdoubleにセット
VCMPNEQPD ymm1, ymm2, ymm3/m256 (V1
__m256d _mm256_cmp_pd(__m256d a, __m256d b, _CMP_NEQ_UQ)
① != ②、または①②の一方or両方がNaNのとき全ビット1を、それ以外のとき全ビット0を③の対応するdoubleにセット
VCMPNEQPD k1{k2}, xmm2, xmm3/m128/m64bcst (V5+VL
__mmask8 _mm_cmp_pd_mask(__m128d a, __m128d b, _CMP_NEQ_UQ)
__mmask8 _mm_mask_cmp_pd_mask(__mmask8 k2, __m128d a, __m128d b, _CMP_NEQ_UQ)
① != ②、または①②の一方or両方がNaNのとき1を、それ以外のとき0を③の対応するビットにセット
k2のビットが0の要素は比較されず③の対応するビットは0になる。③の上位ビットは0クリアされる。
VCMPNEQPD k1{k2}, ymm2, ymm3/m256/m64bcst (V5+VL
__mmask8 _mm256_cmp_pd_mask(__m256d a, __m256d b, _CMP_NEQ_UQ)
__mmask8 _mm256_mask_cmp_pd_mask(__mmask8 k2, __m256d a, __m256d b, _CMP_NEQ_UQ)
① != ②、または①②の一方or両方がNaNのとき1を、それ以外のとき0を③の対応するビットにセット
k2のビットが0の要素は比較されず③の対応するビットは0になる。③の上位ビットは0クリアされる。
VCMPNEQPD k1{k2}, zmm2, zmm3/m512/m64bcst{sae} (V5
__mmask8 _mm512_cmp_pd_mask(__m512d a, __m512d b, _CMP_NEQ_UQ)
__mmask8 _mm512_mask_cmp_pd_mask(__mmask8 k2, __m512d a, __m512d b, _CMP_NEQ_UQ)
__mmask8 _mm512_cmp_round_pd_mask(__m512d a, __m512d b, _CMP_NEQ_UQ, int sae)
__mmask8 _mm512_mask_cmp_round_pd_mask(__mmask8 k2, __m512d a, __m512d b, _CMP_NEQ_UQ, int sae)
① != ②、または①②の一方or両方がNaNのとき1を、それ以外のとき0を③の対応するビットにセット
k2のビットが0の要素は比較されず③の対応するビットは0になる。③の上位ビットは0クリアされる。
この命令は:
Unordered - ソースオペランドのどちらかまたは両方がNaNのとき条件成立とみなす
Quiet - QNaNで例外発生しない
CMPPD/VCMPPD命令で記述する場合のimm8値=4h
x86/x64 SIMD命令一覧表
フィードバック