Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
_mm_cmpgt_epi64
Collapse the table of content
Expand the table of content

_mm_cmpgt_epi64

Microsoft Specific

Emits the Streaming SIMD Extensions 4 (SSE4) instruction pcmpgtq. This instruction compares 64-bit integers that are passed in as 128-bit parameters.

__m128i _mm_cmpgt_epi64 (
     m128i a,
     m128i b
);

Parameter

Description

[in] a

A 128-bit parameter that contains two 64-bit integers.

[in] b

A 128-bit parameter that contains two 64-bit integers.

r0 := (a0 > b0) ? 0xffffffffffffffff : 0x0
r1 := (a1 > b1) ? 0xffffffffffffffff : 0x0

Intrinsic

Architecture

_mm_cmpgt_epi64

x86, x64

Header file <nmmintrin.h>

r0, a0, and b0 are the lower 64 bits of the return value and input parameters a and b.

r1, a1, and b1 are higher 64 bits of the return value and input parameters a and b.

Before using this intrinsic, software must ensure that the processor supports the instruction.

#include <stdio.h>
#include <nmmintrin.h>

int main ()
{
    __m128i a, b;

    a.m128i_i64[1] = 0;
    a.m128i_i64[0] = -1;
    b.m128i_i64[1] = 0;
    b.m128i_i64[0] = -2;

    __m128i res = _mm_cmpgt_epi64(a, b);

    printf_s("Result res: 0x%016I64x 0x%016I64x\n",
                res.m128i_i64[1], res.m128i_i64[0]);

    return 0;
}
Result res: 0x0000000000000000 0xffffffffffffffff

Reference

Community Additions

ADD
Show:
© 2015 Microsoft