Logical

__m128i __lsx_vand_v (__m128i a, __m128i b)

Synopsis

__m128i __lsx_vand_v (__m128i a, __m128i b)
#include <lsxintrin.h>
Instruction: vand.v vr, vr, vr
CPU Flags: LSX

Description

Compute bitwise AND between elements in a and b.

Operation

for (int i = 0; i < 2; i++) {
  dst.dword[i] = a.dword[i] & b.dword[i];
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2

__m128i __lsx_vandi_b (__m128i a, imm0_255 imm)

Synopsis

__m128i __lsx_vandi_b (__m128i a, imm0_255 imm)
#include <lsxintrin.h>
Instruction: vandi.b vr, vr, imm
CPU Flags: LSX

Description

Compute bitwise AND between elements in a and imm.

Operation

for (int i = 0; i < 16; i++) {
  dst.byte[i] = a.byte[i] & imm;
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2

__m128i __lsx_vandn_v (__m128i a, __m128i b)

Synopsis

__m128i __lsx_vandn_v (__m128i a, __m128i b)
#include <lsxintrin.h>
Instruction: vandn.v vr, vr, vr
CPU Flags: LSX

Description

Compute bitwise ANDN between elements in a and b.

Operation

for (int i = 0; i < 2; i++) {
  dst.dword[i] = b.dword[i] & (~a.dword[i]);
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2

__m128i __lsx_vnor_v (__m128i a, __m128i b)

Synopsis

__m128i __lsx_vnor_v (__m128i a, __m128i b)
#include <lsxintrin.h>
Instruction: vnor.v vr, vr, vr
CPU Flags: LSX

Description

Compute bitwise NOR between elements in a and b.

Operation

for (int i = 0; i < 2; i++) {
  dst.dword[i] = ~(a.dword[i] | b.dword[i]);
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2

__m128i __lsx_vnori_b (__m128i a, imm0_255 imm)

Synopsis

__m128i __lsx_vnori_b (__m128i a, imm0_255 imm)
#include <lsxintrin.h>
Instruction: vnori.b vr, vr, imm
CPU Flags: LSX

Description

Compute bitwise NOR between elements in a and imm.

Operation

for (int i = 0; i < 16; i++) {
  dst.byte[i] = ~(a.byte[i] | imm);
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2

__m128i __lsx_vor_v (__m128i a, __m128i b)

Synopsis

__m128i __lsx_vor_v (__m128i a, __m128i b)
#include <lsxintrin.h>
Instruction: vor.v vr, vr, vr
CPU Flags: LSX

Description

Compute bitwise OR between elements in a and b.

Operation

for (int i = 0; i < 2; i++) {
  dst.dword[i] = a.dword[i] | b.dword[i];
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2

__m128i __lsx_vori_b (__m128i a, imm0_255 imm)

Synopsis

__m128i __lsx_vori_b (__m128i a, imm0_255 imm)
#include <lsxintrin.h>
Instruction: vori.b vr, vr, imm
CPU Flags: LSX

Description

Compute bitwise OR between elements in a and imm.

Operation

for (int i = 0; i < 16; i++) {
  dst.byte[i] = a.byte[i] | imm;
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2

__m128i __lsx_vorn_v (__m128i a, __m128i b)

Synopsis

__m128i __lsx_vorn_v (__m128i a, __m128i b)
#include <lsxintrin.h>
Instruction: vorn.v vr, vr, vr
CPU Flags: LSX

Description

Compute bitwise ORN between elements in a and b.

Operation

for (int i = 0; i < 2; i++) {
  dst.dword[i] = a.dword[i] | (~b.dword[i]);
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2

__m128i __lsx_vxor_v (__m128i a, __m128i b)

Synopsis

__m128i __lsx_vxor_v (__m128i a, __m128i b)
#include <lsxintrin.h>
Instruction: vxor.v vr, vr, vr
CPU Flags: LSX

Description

Compute bitwise XOR between elements in a and b.

Operation

for (int i = 0; i < 2; i++) {
  dst.dword[i] = a.dword[i] ^ b.dword[i];
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2

__m128i __lsx_vxori_b (__m128i a, imm0_255 imm)

Synopsis

__m128i __lsx_vxori_b (__m128i a, imm0_255 imm)
#include <lsxintrin.h>
Instruction: vxori.b vr, vr, imm
CPU Flags: LSX

Description

Compute bitwise XOR between elements in a and imm.

Operation

for (int i = 0; i < 16; i++) {
  dst.byte[i] = a.byte[i] ^ imm;
}

Tested on real machine.

Latency and Throughput

CPU Latency Throughput (IPC)
3A6000 1 4
3C5000 1 2