Ternary functions
0x00 — 0
SSEf(A, B, C) = 0 const __m128i c0 = _mm_setzero_si128(); return c0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x01 — (A nor (B or C))
SSEf(A, B, C) = ((A or (B or C)) xor 1) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_or_si128(A, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x02 — (C and (B nor A))
SSEf(A, B, C) = ((B or A) notand C) const __m128i t0 = _mm_or_si128(B, A); const __m128i t1 = _mm_andnot_si128(t0, C); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x03 — (B nor A)
SSEf(A, B, C) = ((B or A) xor 1) const __m128i t0 = _mm_or_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x04 — (B and (A nor C))
SSEf(A, B, C) = ((A or C) notand B) const __m128i t0 = _mm_or_si128(A, C); const __m128i t1 = _mm_andnot_si128(t0, B); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x05 — (C nor A)
SSEf(A, B, C) = ((C or A) xor 1) const __m128i t0 = _mm_or_si128(C, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x06 — (A ? 0 : (B xor C))
SSEf(A, B, C) = (A notand (B xor C)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_andnot_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x07 — (A nor (B and C))
SSEf(A, B, C) = ((A or (B and C)) xor 1) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_or_si128(A, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x08 — (B ? (not (A) and C) : B)
SSEf(A, B, C) = (A notand (B and C)) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_andnot_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x09 — (A nor (B xor C))
SSEf(A, B, C) = ((A or (B xor C)) xor 1) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_or_si128(A, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x0a — (C and not (A))
SSEf(A, B, C) = (A notand C) const __m128i t0 = _mm_andnot_si128(A, C); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x0b — (B ? (not (A) and C) : (A xor 1))
SSEf(A, B, C) = (A notand ((B xor 1) or C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_or_si128(t0, C); const __m128i t2 = _mm_andnot_si128(A, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x0c — (B and not (A))
SSEf(A, B, C) = (A notand B) const __m128i t0 = _mm_andnot_si128(A, B); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x0d — (C ? (not (A) and B) : (A xor 1))
SSEf(A, B, C) = (A notand (B or (C xor 1))) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_or_si128(B, t0); const __m128i t2 = _mm_andnot_si128(A, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x0e — (A ? 0 : (B or C))
SSEf(A, B, C) = (A notand (B or C)) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_andnot_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x0f — not (A)
SSEf(A, B, C) = (A xor 1) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x10 — (A and (B nor C))
SSEf(A, B, C) = ((B or C) notand A) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_andnot_si128(t0, A); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x11 — (C nor B)
SSEf(A, B, C) = ((C or B) xor 1) const __m128i t0 = _mm_or_si128(C, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x12 — (B ? 0 : (A xor C))
SSEf(A, B, C) = (B notand (A xor C)) const __m128i t0 = _mm_xor_si128(A, C); const __m128i t1 = _mm_andnot_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x13 — (B nor (A and C))
SSEf(A, B, C) = ((B or (A and C)) xor 1) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_or_si128(B, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x14 — (C ? 0 : (A xor B))
SSEf(A, B, C) = (C notand (A xor B)) const __m128i t0 = _mm_xor_si128(A, B); const __m128i t1 = _mm_andnot_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x15 — (C nor (B and A))
SSEf(A, B, C) = ((C or (B and A)) xor 1) const __m128i t0 = _mm_and_si128(B, A); const __m128i t1 = _mm_or_si128(C, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x16 — (A ? (not (C) and (A xor B)) : (B xor C))
SSEf(A, B, C) = (((B or C) notand A) or (A notand (B xor C))) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_andnot_si128(t0, A); const __m128i t2 = _mm_xor_si128(B, C); const __m128i t3 = _mm_andnot_si128(A, t2); const __m128i t4 = _mm_or_si128(t1, t3); return t4; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x17 — ((B nor C) or (not (A) and (B xor C)))
SSEf(A, B, C) = (((B or C) xor 1) or (A notand (B xor C))) const __m128i t0 = _mm_or_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_xor_si128(B, C); const __m128i t3 = _mm_andnot_si128(A, t2); const __m128i t4 = _mm_or_si128(t1, t3); return t4; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x18 — (B ? (not (A) and C) : (not (C) and A))
SSEf(A, B, C) = ((A xor B) and (A xor C)) const __m128i t0 = _mm_xor_si128(A, B); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_and_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x19 — (B ? (not (A) and C) : (C xor 1))
SSEf(A, B, C) = ((A and B) notand (B xor (C xor 1))) const __m128i t0 = _mm_and_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_xor_si128(B, t1); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x1a — (A ? (not (C) and (A xor B)) : C)
SSEf(A, B, C) = ((A and B) notand (A xor C)) const __m128i t0 = _mm_and_si128(A, B); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x1b — (C ? not (A) : not (B))
SSEf(A, B, C) = ((A notand C) or (C notand (B xor 1))) const __m128i t0 = _mm_andnot_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_andnot_si128(C, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x1c — (A ? (not (C) and (A xor B)) : B)
SSEf(A, B, C) = ((A and C) notand (A xor B)) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x1d — (B ? not (A) : not (C))
SSEf(A, B, C) = ((A notand B) or (B notand (C xor 1))) const __m128i t0 = _mm_andnot_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_andnot_si128(B, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x1e — (A xor (B or C))
SSEf(A, B, C) = (A xor (B or C)) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_xor_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x1f — (A nand (B or C))
SSEf(A, B, C) = ((A and (B or C)) xor 1) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_and_si128(A, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x20 — (A ? (not (B) and C) : A)
SSEf(A, B, C) = (A and (B notand C)) const __m128i t0 = _mm_andnot_si128(B, C); const __m128i t1 = _mm_and_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x21 — (B nor (A xor C))
SSEf(A, B, C) = ((B or (A xor C)) xor 1) const __m128i t0 = _mm_xor_si128(A, C); const __m128i t1 = _mm_or_si128(B, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x22 — (C and not (B))
SSEf(A, B, C) = (B notand C) const __m128i t0 = _mm_andnot_si128(B, C); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x23 — (A ? (not (B) and C) : (B xor 1))
SSEf(A, B, C) = (B notand ((A xor 1) or C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_or_si128(t0, C); const __m128i t2 = _mm_andnot_si128(B, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x24 — (A ? (not (B) and C) : (not (C) and B))
SSEf(A, B, C) = ((B xor C) and (A xor B)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_and_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x25 — (A ? (not (B) and C) : (C xor 1))
SSEf(A, B, C) = ((A and B) notand (A xor (C xor 1))) const __m128i t0 = _mm_and_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x26 — (A ? (not (B) and C) : (B xor C))
SSEf(A, B, C) = ((A and B) notand (B xor C)) const __m128i t0 = _mm_and_si128(A, B); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x27 — (C ? not (B) : not (A))
SSEf(A, B, C) = ((B notand C) or (C notand (A xor 1))) const __m128i t0 = _mm_andnot_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_andnot_si128(C, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x28 — (C and (B xor A))
SSEf(A, B, C) = (C and (B xor A)) const __m128i t0 = _mm_xor_si128(B, A); const __m128i t1 = _mm_and_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x29 — (C ? (B xor A) : (B nor A))
SSEf(A, B, C) = ((C and (B xor A)) or (C notand ((B or A) xor 1))) const __m128i t0 = _mm_xor_si128(B, A); const __m128i t1 = _mm_and_si128(C, t0); const __m128i t2 = _mm_or_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t3 = _mm_xor_si128(t2, c1); const __m128i t4 = _mm_andnot_si128(C, t3); const __m128i t5 = _mm_or_si128(t1, t4); return t5; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x2a — (C and (B nand A))
SSEf(A, B, C) = ((B and A) notand C) const __m128i t0 = _mm_and_si128(B, A); const __m128i t1 = _mm_andnot_si128(t0, C); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x2b — (A ? (not (B) and C) : ((B xor 1) or C))
SSEf(A, B, C) = (((B and A) notand C) or (C notand ((B or A) xor 1))) const __m128i t0 = _mm_and_si128(B, A); const __m128i t1 = _mm_andnot_si128(t0, C); const __m128i t2 = _mm_or_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t3 = _mm_xor_si128(t2, c1); const __m128i t4 = _mm_andnot_si128(C, t3); const __m128i t5 = _mm_or_si128(t1, t4); return t5; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x2c — (A ? (not (B) and C) : B)
SSEf(A, B, C) = ((B or C) and (A xor B)) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_and_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x2d — (C ? (A xor B) : (A xor 1))
SSEf(A, B, C) = (A xor (B or (C xor 1))) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_or_si128(B, t0); const __m128i t2 = _mm_xor_si128(A, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x2e — (B ? (not (A) and B) : C)
SSEf(A, B, C) = ((A notand B) or (B notand C)) const __m128i t0 = _mm_andnot_si128(A, B); const __m128i t1 = _mm_andnot_si128(B, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x2f — (A ? (not (B) and C) : 1)
SSEf(A, B, C) = ((A xor 1) or (B notand C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_andnot_si128(B, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x30 — (A and not (B))
SSEf(A, B, C) = (B notand A) const __m128i t0 = _mm_andnot_si128(B, A); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x31 — (C ? (not (B) and A) : (B xor 1))
SSEf(A, B, C) = (B notand (A or (C xor 1))) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_or_si128(A, t0); const __m128i t2 = _mm_andnot_si128(B, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x32 — (A ? (not (B) and A) : (not (B) and C))
SSEf(A, B, C) = (B notand (A or C)) const __m128i t0 = _mm_or_si128(A, C); const __m128i t1 = _mm_andnot_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x33 — not (B)
SSEf(A, B, C) = (B xor 1) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x34 — (A ? (not (B) and A) : (not (C) and B))
SSEf(A, B, C) = ((B and C) notand (A xor B)) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x35 — (A ? not (B) : not (C))
SSEf(A, B, C) = ((B notand A) or (A notand (C xor 1))) const __m128i t0 = _mm_andnot_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_andnot_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x36 — (B xor (A or C))
SSEf(A, B, C) = (B xor (A or C)) const __m128i t0 = _mm_or_si128(A, C); const __m128i t1 = _mm_xor_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x37 — (B nand (A or C))
SSEf(A, B, C) = ((B and (A or C)) xor 1) const __m128i t0 = _mm_or_si128(A, C); const __m128i t1 = _mm_and_si128(B, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x38 — (B ? (not (A) and C) : A)
SSEf(A, B, C) = ((A or C) and (A xor B)) const __m128i t0 = _mm_or_si128(A, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_and_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x39 — (C ? (A xor B) : (B xor 1))
SSEf(A, B, C) = (B xor (A or (C xor 1))) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_or_si128(A, t0); const __m128i t2 = _mm_xor_si128(B, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x3a — (A ? (not (B) and A) : C)
SSEf(A, B, C) = ((B notand A) or (A notand C)) const __m128i t0 = _mm_andnot_si128(B, A); const __m128i t1 = _mm_andnot_si128(A, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x3b — (B ? (not (A) and C) : 1)
SSEf(A, B, C) = ((A notand C) or (B xor 1)) const __m128i t0 = _mm_andnot_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x3c — (B xor A)
SSEf(A, B, C) = (B xor A) const __m128i t0 = _mm_xor_si128(B, A); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x3d — ((A xor B) or ((A or C) xor 1))
SSEf(A, B, C) = ((A xor B) or ((A or C) xor 1)) const __m128i t0 = _mm_xor_si128(A, B); const __m128i t1 = _mm_or_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x3e — (A ? (not (B) and A) : (B or C))
SSEf(A, B, C) = ((A notand C) or (A xor B)) const __m128i t0 = _mm_andnot_si128(A, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x3f — (B nand A)
SSEf(A, B, C) = ((B and A) xor 1) const __m128i t0 = _mm_and_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x40 — (A ? (not (C) and B) : A)
SSEf(A, B, C) = (C notand (B and A)) const __m128i t0 = _mm_and_si128(B, A); const __m128i t1 = _mm_andnot_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x41 — (C nor (B xor A))
SSEf(A, B, C) = ((C or (B xor A)) xor 1) const __m128i t0 = _mm_xor_si128(B, A); const __m128i t1 = _mm_or_si128(C, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x42 — (A ? (not (C) and B) : (not (B) and C))
SSEf(A, B, C) = ((A xor B) notand (B xor C)) const __m128i t0 = _mm_xor_si128(A, B); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x43 — (A ? (not (C) and B) : (B xor 1))
SSEf(A, B, C) = ((A and C) notand (A xor (B xor 1))) const __m128i t0 = _mm_and_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x44 — (B and not (C))
SSEf(A, B, C) = (C notand B) const __m128i t0 = _mm_andnot_si128(C, B); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x45 — (A ? (not (C) and B) : (C xor 1))
SSEf(A, B, C) = (C notand ((A xor 1) or B)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_or_si128(t0, B); const __m128i t2 = _mm_andnot_si128(C, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x46 — (A ? (not (C) and B) : (B xor C))
SSEf(A, B, C) = ((A and C) notand (B xor C)) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x47 — (B ? not (C) : not (A))
SSEf(A, B, C) = ((C notand B) or (B notand (A xor 1))) const __m128i t0 = _mm_andnot_si128(C, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_andnot_si128(B, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x48 — (B and (A xor C))
SSEf(A, B, C) = (B and (A xor C)) const __m128i t0 = _mm_xor_si128(A, C); const __m128i t1 = _mm_and_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x49 — (B ? (A xor C) : (A nor C))
SSEf(A, B, C) = ((B and (A xor C)) or (B notand ((A or C) xor 1))) const __m128i t0 = _mm_xor_si128(A, C); const __m128i t1 = _mm_and_si128(B, t0); const __m128i t2 = _mm_or_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t3 = _mm_xor_si128(t2, c1); const __m128i t4 = _mm_andnot_si128(B, t3); const __m128i t5 = _mm_or_si128(t1, t4); return t5; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x4a — (A ? (not (C) and B) : C)
SSEf(A, B, C) = ((B or C) and (A xor C)) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_and_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x4b — (A xor ((B xor 1) or C))
SSEf(A, B, C) = (A xor ((B xor 1) or C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_or_si128(t0, C); const __m128i t2 = _mm_xor_si128(A, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x4c — (B and (A nand C))
SSEf(A, B, C) = ((A and C) notand B) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_andnot_si128(t0, B); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x4d — (A ? (not (C) and B) : (B or (C xor 1)))
SSEf(A, B, C) = (((A and C) notand B) or (B notand ((A or C) xor 1))) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_andnot_si128(t0, B); const __m128i t2 = _mm_or_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t3 = _mm_xor_si128(t2, c1); const __m128i t4 = _mm_andnot_si128(B, t3); const __m128i t5 = _mm_or_si128(t1, t4); return t5; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x4e — (C ? (not (A) and C) : B)
SSEf(A, B, C) = ((A notand C) or (C notand B)) const __m128i t0 = _mm_andnot_si128(A, C); const __m128i t1 = _mm_andnot_si128(C, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x4f — (A ? (not (C) and B) : 1)
SSEf(A, B, C) = ((A xor 1) or (C notand B)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_andnot_si128(C, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x50 — (A and not (C))
SSEf(A, B, C) = (C notand A) const __m128i t0 = _mm_andnot_si128(C, A); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x51 — (B ? (not (C) and A) : (C xor 1))
SSEf(A, B, C) = (C notand (A or (B xor 1))) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_or_si128(A, t0); const __m128i t2 = _mm_andnot_si128(C, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x52 — (A ? (not (C) and A) : (not (B) and C))
SSEf(A, B, C) = ((B and C) notand (A xor C)) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x53 — (A ? not (C) : not (B))
SSEf(A, B, C) = ((C notand A) or (A notand (B xor 1))) const __m128i t0 = _mm_andnot_si128(C, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_andnot_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x54 — (A ? (not (C) and A) : (not (C) and B))
SSEf(A, B, C) = (C notand (A or B)) const __m128i t0 = _mm_or_si128(A, B); const __m128i t1 = _mm_andnot_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x55 — not (C)
SSEf(A, B, C) = (C xor 1) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x56 — (C xor (B or A))
SSEf(A, B, C) = (C xor (B or A)) const __m128i t0 = _mm_or_si128(B, A); const __m128i t1 = _mm_xor_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x57 — (C nand (B or A))
SSEf(A, B, C) = ((C and (B or A)) xor 1) const __m128i t0 = _mm_or_si128(B, A); const __m128i t1 = _mm_and_si128(C, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x58 — (C ? (not (A) and B) : A)
SSEf(A, B, C) = ((A or B) and (A xor C)) const __m128i t0 = _mm_or_si128(A, B); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_and_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x59 — (B ? (A xor C) : (C xor 1))
SSEf(A, B, C) = (C xor (A or (B xor 1))) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_or_si128(A, t0); const __m128i t2 = _mm_xor_si128(C, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x5a — (C xor A)
SSEf(A, B, C) = (C xor A) const __m128i t0 = _mm_xor_si128(C, A); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x5b — ((A xor C) or ((A or B) xor 1))
SSEf(A, B, C) = ((A xor C) or ((A or B) xor 1)) const __m128i t0 = _mm_xor_si128(A, C); const __m128i t1 = _mm_or_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x5c — (A ? (not (C) and A) : B)
SSEf(A, B, C) = ((C notand A) or (A notand B)) const __m128i t0 = _mm_andnot_si128(C, A); const __m128i t1 = _mm_andnot_si128(A, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x5d — (C ? (not (A) and B) : 1)
SSEf(A, B, C) = ((C xor 1) or (A notand B)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_andnot_si128(A, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x5e — (A ? (not (C) and A) : (B or C))
SSEf(A, B, C) = ((C notand B) or (A xor C)) const __m128i t0 = _mm_andnot_si128(C, B); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x5f — (C nand A)
SSEf(A, B, C) = ((C and A) xor 1) const __m128i t0 = _mm_and_si128(C, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x60 — (A and (B xor C))
SSEf(A, B, C) = (A and (B xor C)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_and_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x61 — (A ? (B xor C) : (B nor C))
SSEf(A, B, C) = ((A and (B xor C)) or (A notand ((B or C) xor 1))) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_and_si128(A, t0); const __m128i t2 = _mm_or_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t3 = _mm_xor_si128(t2, c1); const __m128i t4 = _mm_andnot_si128(A, t3); const __m128i t5 = _mm_or_si128(t1, t4); return t5; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x62 — (B ? (not (C) and A) : C)
SSEf(A, B, C) = ((A or C) and (B xor C)) const __m128i t0 = _mm_or_si128(A, C); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_and_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x63 — (B xor ((A xor 1) or C))
SSEf(A, B, C) = (B xor ((A xor 1) or C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_or_si128(t0, C); const __m128i t2 = _mm_xor_si128(B, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x64 — (C ? (not (B) and A) : B)
SSEf(A, B, C) = ((B xor C) and (A or B)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_or_si128(A, B); const __m128i t2 = _mm_and_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x65 — (C xor ((A xor 1) or B))
SSEf(A, B, C) = (C xor ((A xor 1) or B)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_or_si128(t0, B); const __m128i t2 = _mm_xor_si128(C, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x66 — (C xor B)
SSEf(A, B, C) = (C xor B) const __m128i t0 = _mm_xor_si128(C, B); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x67 — ((B xor C) or ((A or B) xor 1))
SSEf(A, B, C) = ((B xor C) or ((A or B) xor 1)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_or_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x68 — (A ? (B xor C) : (B and C))
SSEf(A, B, C) = ((A and (B xor C)) or (A notand (B and C))) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_and_si128(A, t0); const __m128i t2 = _mm_and_si128(B, C); const __m128i t3 = _mm_andnot_si128(A, t2); const __m128i t4 = _mm_or_si128(t1, t3); return t4; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x69 — (A xnor (B xor C))
SSEf(A, B, C) = ((A xor (B xor C)) xor 1) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_xor_si128(A, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x6a — (C xor (B and A))
SSEf(A, B, C) = (C xor (B and A)) const __m128i t0 = _mm_and_si128(B, A); const __m128i t1 = _mm_xor_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x6b — (A ? (B xor C) : ((B xor 1) or C))
SSEf(A, B, C) = ((A notand C) or ((A xor 1) xor (B xor C))) const __m128i t0 = _mm_andnot_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_xor_si128(B, C); const __m128i t3 = _mm_xor_si128(t1, t2); const __m128i t4 = _mm_or_si128(t0, t3); return t4; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x6c — (B xor (A and C))
SSEf(A, B, C) = (B xor (A and C)) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_xor_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x6d — (A ? (B xor C) : (B or (C xor 1)))
SSEf(A, B, C) = ((A notand B) or ((A xor 1) xor (B xor C))) const __m128i t0 = _mm_andnot_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_xor_si128(B, C); const __m128i t3 = _mm_xor_si128(t1, t2); const __m128i t4 = _mm_or_si128(t0, t3); return t4; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x6e — (A ? (B xor C) : (B or C))
SSEf(A, B, C) = ((A notand B) or (B xor C)) const __m128i t0 = _mm_andnot_si128(A, B); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x6f — (A ? (B xor C) : 1)
SSEf(A, B, C) = ((B xor C) or (A xor 1)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x70 — (A and (B nand C))
SSEf(A, B, C) = ((B and C) notand A) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_andnot_si128(t0, A); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x71 — (B ? (not (C) and A) : (A or (C xor 1)))
SSEf(A, B, C) = (((B or C) xor 1) or (A and (B xor C))) const __m128i t0 = _mm_or_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_xor_si128(B, C); const __m128i t3 = _mm_and_si128(A, t2); const __m128i t4 = _mm_or_si128(t1, t3); return t4; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x72 — (C ? (not (B) and C) : A)
SSEf(A, B, C) = ((B notand C) or (C notand A)) const __m128i t0 = _mm_andnot_si128(B, C); const __m128i t1 = _mm_andnot_si128(C, A); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x73 — (B ? (not (C) and A) : 1)
SSEf(A, B, C) = ((B xor 1) or (C notand A)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_andnot_si128(C, A); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x74 — (B ? (not (C) and B) : A)
SSEf(A, B, C) = ((C notand B) or (B notand A)) const __m128i t0 = _mm_andnot_si128(C, B); const __m128i t1 = _mm_andnot_si128(B, A); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x75 — (C ? (not (B) and A) : 1)
SSEf(A, B, C) = ((C xor 1) or (B notand A)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_andnot_si128(B, A); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x76 — (B ? (not (C) and B) : (A or C))
SSEf(A, B, C) = ((B notand A) or (B xor C)) const __m128i t0 = _mm_andnot_si128(B, A); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x77 — (C nand B)
SSEf(A, B, C) = ((C and B) xor 1) const __m128i t0 = _mm_and_si128(C, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x78 — (A xor (B and C))
SSEf(A, B, C) = (A xor (B and C)) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_xor_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x79 — (B ? (A xor C) : (A or (C xor 1)))
SSEf(A, B, C) = ((B notand A) or ((B xor 1) xor (A xor C))) const __m128i t0 = _mm_andnot_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_xor_si128(A, C); const __m128i t3 = _mm_xor_si128(t1, t2); const __m128i t4 = _mm_or_si128(t0, t3); return t4; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x7a — (A ? ((B and C) xor A) : C)
SSEf(A, B, C) = ((B notand A) or (A xor C)) const __m128i t0 = _mm_andnot_si128(B, A); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x7b — (B ? (A xor C) : 1)
SSEf(A, B, C) = ((B xor 1) or (A xor C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x7c — (A ? ((B and C) xor A) : B)
SSEf(A, B, C) = ((A xor B) or (C notand A)) const __m128i t0 = _mm_xor_si128(A, B); const __m128i t1 = _mm_andnot_si128(C, A); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x7d — (C ? (A xor B) : 1)
SSEf(A, B, C) = ((A xor B) or (C xor 1)) const __m128i t0 = _mm_xor_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x7e — (A ? ((B and C) xor A) : (B or C))
SSEf(A, B, C) = ((A xor B) or (A xor C)) const __m128i t0 = _mm_xor_si128(A, B); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x7f — (A ? ((B and C) xor A) : 1)
SSEf(A, B, C) = (((A and B) and C) xor 1) const __m128i t0 = _mm_and_si128(A, B); const __m128i t1 = _mm_and_si128(t0, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x80 — (A and (B and C))
SSEf(A, B, C) = (A and (B and C)) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_and_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x81 — (not ((A xor C)) and (A xor (B xor 1)))
SSEf(A, B, C) = ((A xor C) notand (A xor (B xor 1))) const __m128i t0 = _mm_xor_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x82 — (C and (B xnor A))
SSEf(A, B, C) = ((B xor A) notand C) const __m128i t0 = _mm_xor_si128(B, A); const __m128i t1 = _mm_andnot_si128(t0, C); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x83 — (not ((A xor B)) and ((A xor 1) or C))
SSEf(A, B, C) = ((A xor B) notand ((A xor 1) or C)) const __m128i t0 = _mm_xor_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_or_si128(t1, C); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x84 — (B and (A xnor C))
SSEf(A, B, C) = ((A xor C) notand B) const __m128i t0 = _mm_xor_si128(A, C); const __m128i t1 = _mm_andnot_si128(t0, B); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x85 — (not ((A xor C)) and (B or (C xor 1)))
SSEf(A, B, C) = ((A xor C) notand (B or (C xor 1))) const __m128i t0 = _mm_xor_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_or_si128(B, t1); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x86 — ((B or C) and (C xor (A xor B)))
SSEf(A, B, C) = ((B or C) and (C xor (A xor B))) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_xor_si128(C, t1); const __m128i t3 = _mm_and_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x87 — (A xnor (B and C))
SSEf(A, B, C) = ((A xor (B and C)) xor 1) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_xor_si128(A, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x88 — (C and B)
SSEf(A, B, C) = (C and B) const __m128i t0 = _mm_and_si128(C, B); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x89 — (not ((B xor C)) and ((A xor 1) or B))
SSEf(A, B, C) = ((B xor C) notand ((A xor 1) or B)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_or_si128(t1, B); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x8a — (not ((not (B) and A)) and C)
SSEf(A, B, C) = ((B notand A) notand C) const __m128i t0 = _mm_andnot_si128(B, A); const __m128i t1 = _mm_andnot_si128(t0, C); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x8b — (B ? C : not (A))
SSEf(A, B, C) = ((B and C) or (B notand (A xor 1))) const __m128i t0 = _mm_and_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_andnot_si128(B, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x8c — (not ((not (C) and A)) and B)
SSEf(A, B, C) = ((C notand A) notand B) const __m128i t0 = _mm_andnot_si128(C, A); const __m128i t1 = _mm_andnot_si128(t0, B); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x8d — (C ? B : not (A))
SSEf(A, B, C) = ((C and B) or (C notand (A xor 1))) const __m128i t0 = _mm_and_si128(C, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_andnot_si128(C, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x8e — ((B and C) or (not (A) and (B xor C)))
SSEf(A, B, C) = ((B and C) or (A notand (B xor C))) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_andnot_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x8f — (A ? (B and C) : 1)
SSEf(A, B, C) = ((A xor 1) or (B and C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_and_si128(B, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x90 — (A and (B xnor C))
SSEf(A, B, C) = ((B xor C) notand A) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_andnot_si128(t0, A); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x91 — (not ((B xor C)) and (A or (B xor 1)))
SSEf(A, B, C) = ((B xor C) notand (A or (B xor 1))) const __m128i t0 = _mm_xor_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_or_si128(A, t1); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x92 — ((A or C) and (C xor (A xor B)))
SSEf(A, B, C) = ((A or C) and (C xor (A xor B))) const __m128i t0 = _mm_or_si128(A, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_xor_si128(C, t1); const __m128i t3 = _mm_and_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x93 — (B xnor (A and C))
SSEf(A, B, C) = ((B xor (A and C)) xor 1) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_xor_si128(B, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x94 — ((A or B) and (B xor (A xor C)))
SSEf(A, B, C) = ((A or B) and (B xor (A xor C))) const __m128i t0 = _mm_or_si128(A, B); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_xor_si128(B, t1); const __m128i t3 = _mm_and_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x95 — (C xnor (B and A))
SSEf(A, B, C) = ((C xor (B and A)) xor 1) const __m128i t0 = _mm_and_si128(B, A); const __m128i t1 = _mm_xor_si128(C, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x96 — (A xor (B xor C))
SSEf(A, B, C) = (A xor (B xor C)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_xor_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x97 — (A ? (B xnor C) : (B nand C))
SSEf(A, B, C) = (((B xor C) notand A) or (A notand ((B and C) xor 1))) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_andnot_si128(t0, A); const __m128i t2 = _mm_and_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t3 = _mm_xor_si128(t2, c1); const __m128i t4 = _mm_andnot_si128(A, t3); const __m128i t5 = _mm_or_si128(t1, t4); return t5; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x98 — (B ? C : (not (C) and A))
SSEf(A, B, C) = ((B xor C) notand (A or B)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_or_si128(A, B); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x99 — (C xnor B)
SSEf(A, B, C) = ((C xor B) xor 1) const __m128i t0 = _mm_xor_si128(C, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x9a — (B ? C : (A xor C))
SSEf(A, B, C) = ((B notand A) xor C) const __m128i t0 = _mm_andnot_si128(B, A); const __m128i t1 = _mm_xor_si128(t0, C); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x9b — ((not (A) and C) or (B xor (C xor 1)))
SSEf(A, B, C) = ((A notand C) or (B xor (C xor 1))) const __m128i t0 = _mm_andnot_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_xor_si128(B, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x9c — (C ? B : (A xor B))
SSEf(A, B, C) = ((C notand A) xor B) const __m128i t0 = _mm_andnot_si128(C, A); const __m128i t1 = _mm_xor_si128(t0, B); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x9d — ((not (A) and B) or (B xor (C xor 1)))
SSEf(A, B, C) = ((A notand B) or (B xor (C xor 1))) const __m128i t0 = _mm_andnot_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_xor_si128(B, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x9e — (A ? ((not (B) and A) xor C) : (B or C))
SSEf(A, B, C) = ((B and C) or (C xor (A xor B))) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_xor_si128(C, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0x9f — (A nand (B xor C))
SSEf(A, B, C) = ((A and (B xor C)) xor 1) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_and_si128(A, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa0 — (C and A)
SSEf(A, B, C) = (C and A) const __m128i t0 = _mm_and_si128(C, A); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa1 — (not ((A xor C)) and (A or (B xor 1)))
SSEf(A, B, C) = ((A xor C) notand (A or (B xor 1))) const __m128i t0 = _mm_xor_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_or_si128(A, t1); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa2 — (not ((not (A) and B)) and C)
SSEf(A, B, C) = ((A notand B) notand C) const __m128i t0 = _mm_andnot_si128(A, B); const __m128i t1 = _mm_andnot_si128(t0, C); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa3 — (A ? C : not (B))
SSEf(A, B, C) = ((A and C) or (A notand (B xor 1))) const __m128i t0 = _mm_and_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_andnot_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa4 — (A ? C : (not (C) and B))
SSEf(A, B, C) = ((A xor C) notand (A or B)) const __m128i t0 = _mm_xor_si128(A, C); const __m128i t1 = _mm_or_si128(A, B); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa5 — (C xnor A)
SSEf(A, B, C) = ((C xor A) xor 1) const __m128i t0 = _mm_xor_si128(C, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa6 — ((not (A) and B) xor C)
SSEf(A, B, C) = ((A notand B) xor C) const __m128i t0 = _mm_andnot_si128(A, B); const __m128i t1 = _mm_xor_si128(t0, C); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa7 — ((not (B) and C) or (A xor (C xor 1)))
SSEf(A, B, C) = ((B notand C) or (A xor (C xor 1))) const __m128i t0 = _mm_andnot_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa8 — (C and (A or B))
SSEf(A, B, C) = (C and (A or B)) const __m128i t0 = _mm_or_si128(A, B); const __m128i t1 = _mm_and_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xa9 — (C xnor (B or A))
SSEf(A, B, C) = ((C xor (B or A)) xor 1) const __m128i t0 = _mm_or_si128(B, A); const __m128i t1 = _mm_xor_si128(C, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xaa — C
SSEf(A, B, C) = C return C; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xab — (C or (B nor A))
SSEf(A, B, C) = (C or ((B or A) xor 1)) const __m128i t0 = _mm_or_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_or_si128(C, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xac — (A ? C : B)
SSEf(A, B, C) = ((A and C) or (A notand B)) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_andnot_si128(A, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xad — ((B and C) or (A xor (C xor 1)))
SSEf(A, B, C) = ((B and C) or (A xor (C xor 1))) const __m128i t0 = _mm_and_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xae — ((not (A) and B) or C)
SSEf(A, B, C) = ((A notand B) or C) const __m128i t0 = _mm_andnot_si128(A, B); const __m128i t1 = _mm_or_si128(t0, C); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xaf — (A ? C : 1)
SSEf(A, B, C) = (C or (A xor 1)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_or_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb0 — (not ((not (C) and B)) and A)
SSEf(A, B, C) = ((C notand B) notand A) const __m128i t0 = _mm_andnot_si128(C, B); const __m128i t1 = _mm_andnot_si128(t0, A); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb1 — (C ? A : not (B))
SSEf(A, B, C) = ((C and A) or (C notand (B xor 1))) const __m128i t0 = _mm_and_si128(C, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_andnot_si128(C, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb2 — (B ? (A and C) : (A or C))
SSEf(A, B, C) = ((B and (A and C)) or (B notand (A or C))) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_and_si128(B, t0); const __m128i t2 = _mm_or_si128(A, C); const __m128i t3 = _mm_andnot_si128(B, t2); const __m128i t4 = _mm_or_si128(t1, t3); return t4; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb3 — (B ? (A and C) : 1)
SSEf(A, B, C) = ((B xor 1) or (A and C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_and_si128(A, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb4 — (C ? A : (A xor B))
SSEf(A, B, C) = (A xor (C notand B)) const __m128i t0 = _mm_andnot_si128(C, B); const __m128i t1 = _mm_xor_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb5 — ((not (B) and A) or (A xor (C xor 1)))
SSEf(A, B, C) = ((B notand A) or (A xor (C xor 1))) const __m128i t0 = _mm_andnot_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb6 — (A ? (C or (A xor B)) : (B xor C))
SSEf(A, B, C) = ((A and C) or (C xor (A xor B))) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_xor_si128(C, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb7 — (B nand (A xor C))
SSEf(A, B, C) = ((B and (A xor C)) xor 1) const __m128i t0 = _mm_xor_si128(A, C); const __m128i t1 = _mm_and_si128(B, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb8 — (B ? C : A)
SSEf(A, B, C) = ((B and C) or (B notand A)) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_andnot_si128(B, A); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xb9 — ((A and C) or (B xor (C xor 1)))
SSEf(A, B, C) = (((B xor C) xor 1) or (B notand A)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_andnot_si128(B, A); const __m128i t3 = _mm_or_si128(t1, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xba — ((not (B) and A) or C)
SSEf(A, B, C) = (C or (B notand A)) const __m128i t0 = _mm_andnot_si128(B, A); const __m128i t1 = _mm_or_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xbb — (B ? C : 1)
SSEf(A, B, C) = (C or (B xor 1)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_or_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xbc — ((A and C) or (A xor B))
SSEf(A, B, C) = ((A and C) or (A xor B)) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_xor_si128(A, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xbd — ((A xor B) or (A xor (C xor 1)))
SSEf(A, B, C) = ((A xor B) or (A xor (C xor 1))) const __m128i t0 = _mm_xor_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xbe — (C or (B xor A))
SSEf(A, B, C) = (C or (B xor A)) const __m128i t0 = _mm_xor_si128(B, A); const __m128i t1 = _mm_or_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xbf — (C or (B nand A))
SSEf(A, B, C) = (C or ((B and A) xor 1)) const __m128i t0 = _mm_and_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_or_si128(C, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc0 — (B and A)
SSEf(A, B, C) = (B and A) const __m128i t0 = _mm_and_si128(B, A); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc1 — (not ((A xor B)) and (A or (C xor 1)))
SSEf(A, B, C) = ((A xor B) notand (A or (C xor 1))) const __m128i t0 = _mm_xor_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_or_si128(A, t1); const __m128i t3 = _mm_andnot_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc2 — (A ? B : (not (B) and C))
SSEf(A, B, C) = ((A xor B) notand (A or C)) const __m128i t0 = _mm_xor_si128(A, B); const __m128i t1 = _mm_or_si128(A, C); const __m128i t2 = _mm_andnot_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc3 — (B xnor A)
SSEf(A, B, C) = ((B xor A) xor 1) const __m128i t0 = _mm_xor_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc4 — (not ((not (A) and C)) and B)
SSEf(A, B, C) = ((A notand C) notand B) const __m128i t0 = _mm_andnot_si128(A, C); const __m128i t1 = _mm_andnot_si128(t0, B); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc5 — (A ? B : not (C))
SSEf(A, B, C) = ((A and B) or (A notand (C xor 1))) const __m128i t0 = _mm_and_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_andnot_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc6 — ((not (A) and C) xor B)
SSEf(A, B, C) = ((A notand C) xor B) const __m128i t0 = _mm_andnot_si128(A, C); const __m128i t1 = _mm_xor_si128(t0, B); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc7 — ((not (C) and B) or (A xor (B xor 1)))
SSEf(A, B, C) = ((C notand B) or (A xor (B xor 1))) const __m128i t0 = _mm_andnot_si128(C, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc8 — (B and (A or C))
SSEf(A, B, C) = (B and (A or C)) const __m128i t0 = _mm_or_si128(A, C); const __m128i t1 = _mm_and_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xc9 — (B xnor (A or C))
SSEf(A, B, C) = ((B xor (A or C)) xor 1) const __m128i t0 = _mm_or_si128(A, C); const __m128i t1 = _mm_xor_si128(B, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xca — (A ? B : C)
SSEf(A, B, C) = ((A and B) or (A notand C)) const __m128i t0 = _mm_and_si128(A, B); const __m128i t1 = _mm_andnot_si128(A, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xcb — ((B and C) or (A xor (B xor 1)))
SSEf(A, B, C) = ((B and C) or (A xor (B xor 1))) const __m128i t0 = _mm_and_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xcc — B
SSEf(A, B, C) = B return B; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xcd — (B or (A nor C))
SSEf(A, B, C) = (B or ((A or C) xor 1)) const __m128i t0 = _mm_or_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_or_si128(B, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xce — ((not (A) and C) or B)
SSEf(A, B, C) = ((A notand C) or B) const __m128i t0 = _mm_andnot_si128(A, C); const __m128i t1 = _mm_or_si128(t0, B); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xcf — (A ? B : 1)
SSEf(A, B, C) = (B or (A xor 1)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_or_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd0 — (not ((not (B) and C)) and A)
SSEf(A, B, C) = ((B notand C) notand A) const __m128i t0 = _mm_andnot_si128(B, C); const __m128i t1 = _mm_andnot_si128(t0, A); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd1 — ((B nor C) or (A and B))
SSEf(A, B, C) = ((B and A) or (B notand (C xor 1))) const __m128i t0 = _mm_and_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_andnot_si128(B, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd2 — ((not (B) and C) xor A)
SSEf(A, B, C) = (A xor (B notand C)) const __m128i t0 = _mm_andnot_si128(B, C); const __m128i t1 = _mm_xor_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd3 — ((not (C) and A) or (A xor (B xor 1)))
SSEf(A, B, C) = ((C notand A) or (A xor (B xor 1))) const __m128i t0 = _mm_andnot_si128(C, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd4 — ((B and not (C)) or (A and (B xnor C)))
SSEf(A, B, C) = ((C notand B) or ((B xor C) notand A)) const __m128i t0 = _mm_andnot_si128(C, B); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_andnot_si128(t1, A); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd5 — (C ? (A and B) : 1)
SSEf(A, B, C) = ((C xor 1) or (A and B)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_and_si128(A, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd6 — (A ? (B or (A xor C)) : (B xor C))
SSEf(A, B, C) = ((A and B) or (B xor (A xor C))) const __m128i t0 = _mm_and_si128(A, B); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_xor_si128(B, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd7 — (C nand (B xor A))
SSEf(A, B, C) = ((C and (B xor A)) xor 1) const __m128i t0 = _mm_xor_si128(B, A); const __m128i t1 = _mm_and_si128(C, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd8 — (C ? B : A)
SSEf(A, B, C) = ((C and B) or (C notand A)) const __m128i t0 = _mm_and_si128(C, B); const __m128i t1 = _mm_andnot_si128(C, A); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xd9 — ((A and B) or (B xor (C xor 1)))
SSEf(A, B, C) = (((B xor C) xor 1) or (A and B)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_and_si128(A, B); const __m128i t3 = _mm_or_si128(t1, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xda — ((A and B) or (A xor C))
SSEf(A, B, C) = ((A and B) or (A xor C)) const __m128i t0 = _mm_and_si128(A, B); const __m128i t1 = _mm_xor_si128(A, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xdb — ((A xor C) or (A xor (B xor 1)))
SSEf(A, B, C) = ((A xor C) or (A xor (B xor 1))) const __m128i t0 = _mm_xor_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xdc — ((not (C) and A) or B)
SSEf(A, B, C) = (B or (C notand A)) const __m128i t0 = _mm_andnot_si128(C, A); const __m128i t1 = _mm_or_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xdd — (C ? B : 1)
SSEf(A, B, C) = (B or (C xor 1)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_or_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xde — (B or (A xor C))
SSEf(A, B, C) = (B or (A xor C)) const __m128i t0 = _mm_xor_si128(A, C); const __m128i t1 = _mm_or_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xdf — (B or (A nand C))
SSEf(A, B, C) = (B or ((A and C) xor 1)) const __m128i t0 = _mm_and_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_or_si128(B, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe0 — (A and (B or C))
SSEf(A, B, C) = (A and (B or C)) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_and_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe1 — (A xnor (B or C))
SSEf(A, B, C) = ((A xor (B or C)) xor 1) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_xor_si128(A, t0); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t2 = _mm_xor_si128(t1, c1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe2 — (B ? A : C)
SSEf(A, B, C) = ((B and A) or (B notand C)) const __m128i t0 = _mm_and_si128(B, A); const __m128i t1 = _mm_andnot_si128(B, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe3 — ((A and C) or (A xor (B xor 1)))
SSEf(A, B, C) = ((A and C) or (A xor (B xor 1))) const __m128i t0 = _mm_and_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(B, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe4 — (C ? A : B)
SSEf(A, B, C) = ((C and A) or (C notand B)) const __m128i t0 = _mm_and_si128(C, A); const __m128i t1 = _mm_andnot_si128(C, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe5 — ((A and B) or (A xor (C xor 1)))
SSEf(A, B, C) = ((A and B) or (A xor (C xor 1))) const __m128i t0 = _mm_and_si128(A, B); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(C, c1); const __m128i t2 = _mm_xor_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe6 — ((A and B) or (B xor C))
SSEf(A, B, C) = ((B xor C) or (A and B)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_and_si128(A, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe7 — ((B xor C) or (A xor (B xor 1)))
SSEf(A, B, C) = ((B xor C) or ((A xor 1) xor C)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(A, c1); const __m128i t2 = _mm_xor_si128(t1, C); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe8 — ((B and C) or (A and (B xor C)))
SSEf(A, B, C) = ((B and C) or (A and (B xor C))) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_and_si128(A, t1); const __m128i t3 = _mm_or_si128(t0, t2); return t3; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xe9 — ((A and B) or (B xor (A xor (C xor 1))))
SSEf(A, B, C) = (((A xor 1) xor (B xor C)) or (A and B)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_xor_si128(B, C); const __m128i t2 = _mm_xor_si128(t0, t1); const __m128i t3 = _mm_and_si128(A, B); const __m128i t4 = _mm_or_si128(t2, t3); return t4; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xea — (C or (B and A))
SSEf(A, B, C) = (C or (B and A)) const __m128i t0 = _mm_and_si128(B, A); const __m128i t1 = _mm_or_si128(C, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xeb — (C or (B xnor A))
SSEf(A, B, C) = (C or ((B xor A) xor 1)) const __m128i t0 = _mm_xor_si128(B, A); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_or_si128(C, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xec — (B or (A and C))
SSEf(A, B, C) = (B or (A and C)) const __m128i t0 = _mm_and_si128(A, C); const __m128i t1 = _mm_or_si128(B, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xed — (B or (A xnor C))
SSEf(A, B, C) = (B or ((A xor C) xor 1)) const __m128i t0 = _mm_xor_si128(A, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_or_si128(B, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xee — (C or B)
SSEf(A, B, C) = (C or B) const __m128i t0 = _mm_or_si128(C, B); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xef — (A ? (B or C) : 1)
SSEf(A, B, C) = ((A xor 1) or (B or C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(A, c1); const __m128i t1 = _mm_or_si128(B, C); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf0 — A
SSEf(A, B, C) = A return A; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf1 — (A or (B nor C))
SSEf(A, B, C) = (A or ((B or C) xor 1)) const __m128i t0 = _mm_or_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_or_si128(A, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf2 — ((not (B) and C) or A)
SSEf(A, B, C) = (A or (B notand C)) const __m128i t0 = _mm_andnot_si128(B, C); const __m128i t1 = _mm_or_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf3 — (B ? A : 1)
SSEf(A, B, C) = (A or (B xor 1)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_or_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf4 — ((not (C) and B) or A)
SSEf(A, B, C) = (A or (C notand B)) const __m128i t0 = _mm_andnot_si128(C, B); const __m128i t1 = _mm_or_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf5 — (C ? A : 1)
SSEf(A, B, C) = (A or (C xor 1)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_or_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf6 — (A or (B xor C))
SSEf(A, B, C) = (A or (B xor C)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i t1 = _mm_or_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf7 — (A or (B nand C))
SSEf(A, B, C) = (A or ((B and C) xor 1)) const __m128i t0 = _mm_and_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_or_si128(A, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf8 — (A or (B and C))
SSEf(A, B, C) = (A or (B and C)) const __m128i t0 = _mm_and_si128(B, C); const __m128i t1 = _mm_or_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xf9 — (A or (B xnor C))
SSEf(A, B, C) = (A or ((B xor C) xor 1)) const __m128i t0 = _mm_xor_si128(B, C); const __m128i c1 = _mm_set1_epi32(-1); const __m128i t1 = _mm_xor_si128(t0, c1); const __m128i t2 = _mm_or_si128(A, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xfa — (C or A)
SSEf(A, B, C) = (C or A) const __m128i t0 = _mm_or_si128(C, A); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xfb — (B ? (A or C) : 1)
SSEf(A, B, C) = (A or ((B xor 1) or C)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(B, c1); const __m128i t1 = _mm_or_si128(t0, C); const __m128i t2 = _mm_or_si128(A, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xfc — (B or A)
SSEf(A, B, C) = (B or A) const __m128i t0 = _mm_or_si128(B, A); return t0; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xfd — (C ? (A or B) : 1)
SSEf(A, B, C) = ((C xor 1) or (A or B)) const __m128i c1 = _mm_set1_epi32(-1); const __m128i t0 = _mm_xor_si128(C, c1); const __m128i t1 = _mm_or_si128(A, B); const __m128i t2 = _mm_or_si128(t0, t1); return t2; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xfe — (A or (B or C))
SSEf(A, B, C) = (A or (B or C)) const __m128i t0 = _mm_or_si128(B, C); const __m128i t1 = _mm_or_si128(A, t0); return t1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
0xff — 1
SSEf(A, B, C) = 1 const __m128i c1 = _mm_set1_epi32(-1); return c1; AVX2AVX512x86 (64 bit)x86 (32 bit)AMD XOPARM Neon |
Number of instructions
code | function | SSE | AVX2 | AVX512 | x86 (64 bit) | x86 (32 bit) | AMD XOP | ARM Neon |
00 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
01 | (A nor (B or C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
02 | (C and (B nor A)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
03 | (B nor A) | 3 | 3 | 3 | 2 | 2 | 3 | 2 |
04 | (B and (A nor C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
05 | (C nor A) | 3 | 3 | 3 | 2 | 2 | 3 | 2 |
06 | (A ? 0 : (B xor C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
07 | (A nor (B and C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
08 | (B ? (not (A) and C) : B) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
09 | (A nor (B xor C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
0a | (C and not (A)) | 1 | 1 | 1 | 2 | 2 | 1 | 1 |
0b | (B ? (not (A) and C) : (A xor 1)) | 4 | 4 | 4 | 5 | 5 | 4 | 4 |
0c | (B and not (A)) | 1 | 1 | 1 | 2 | 2 | 1 | 1 |
0d | (C ? (not (A) and B) : (A xor 1)) | 4 | 4 | 4 | 5 | 5 | 4 | 4 |
0e | (A ? 0 : (B or C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
0f | not (A) | 2 | 2 | 2 | 1 | 1 | 2 | 1 |
10 | (A and (B nor C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
11 | (C nor B) | 3 | 3 | 3 | 2 | 2 | 3 | 2 |
12 | (B ? 0 : (A xor C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
13 | (B nor (A and C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
14 | (C ? 0 : (A xor B)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
15 | (C nor (B and A)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
16 | (A ? (not (C) and (A xor B)) : (B xor C)) | 5 | 5 | 5 | 7 | 7 | 4 | 5 |
17 | ((B nor C) or (not (A) and (B xor C))) | 6 | 6 | 6 | 4 | 4 | 5 | 4 |
18 | (B ? (not (A) and C) : (not (C) and A)) | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
19 | (B ? (not (A) and C) : (C xor 1)) | 5 | 5 | 5 | 5 | 5 | 4 | 5 |
1a | (A ? (not (C) and (A xor B)) : C) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
1b | (C ? not (A) : not (B)) | 5 | 5 | 5 | 6 | 6 | 4 | 4 |
1c | (A ? (not (C) and (A xor B)) : B) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
1d | (B ? not (A) : not (C)) | 5 | 5 | 5 | 6 | 6 | 4 | 4 |
1e | (A xor (B or C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
1f | (A nand (B or C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
20 | (A ? (not (B) and C) : A) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
21 | (B nor (A xor C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
22 | (C and not (B)) | 1 | 1 | 1 | 2 | 2 | 1 | 1 |
23 | (A ? (not (B) and C) : (B xor 1)) | 4 | 4 | 4 | 5 | 5 | 4 | 3 |
24 | (A ? (not (B) and C) : (not (C) and B)) | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
25 | (A ? (not (B) and C) : (C xor 1)) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
26 | (A ? (not (B) and C) : (B xor C)) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
27 | (C ? not (B) : not (A)) | 5 | 5 | 5 | 6 | 6 | 4 | 4 |
28 | (C and (B xor A)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
29 | (C ? (B xor A) : (B nor A)) | 7 | 7 | 7 | 7 | 7 | 5 | 6 |
2a | (C and (B nand A)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
2b | (A ? (not (B) and C) : ((B xor 1) or C)) | 7 | 7 | 7 | 8 | 8 | 5 | 6 |
2c | (A ? (not (B) and C) : B) | 3 | 3 | 3 | 3 | 3 | 2 | 3 |
2d | (C ? (A xor B) : (A xor 1)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
2e | (B ? (not (A) and B) : C) | 3 | 3 | 3 | 3 | 3 | 2 | 3 |
2f | (A ? (not (B) and C) : 1) | 4 | 4 | 4 | 4 | 4 | 3 | 2 |
30 | (A and not (B)) | 1 | 1 | 1 | 2 | 2 | 1 | 1 |
31 | (C ? (not (B) and A) : (B xor 1)) | 4 | 4 | 4 | 5 | 5 | 4 | 3 |
32 | (A ? (not (B) and A) : (not (B) and C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
33 | not (B) | 2 | 2 | 2 | 1 | 1 | 2 | 1 |
34 | (A ? (not (B) and A) : (not (C) and B)) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
35 | (A ? not (B) : not (C)) | 5 | 5 | 5 | 6 | 6 | 4 | 4 |
36 | (B xor (A or C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
37 | (B nand (A or C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
38 | (B ? (not (A) and C) : A) | 3 | 3 | 3 | 3 | 3 | 2 | 3 |
39 | (C ? (A xor B) : (B xor 1)) | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
3a | (A ? (not (B) and A) : C) | 3 | 3 | 3 | 5 | 5 | 2 | 3 |
3b | (B ? (not (A) and C) : 1) | 4 | 4 | 4 | 5 | 5 | 3 | 3 |
3c | (B xor A) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
3d | ((A xor B) or ((A or C) xor 1)) | 5 | 5 | 5 | 4 | 4 | 5 | 3 |
3e | (A ? (not (B) and A) : (B or C)) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
3f | (B nand A) | 3 | 3 | 3 | 2 | 2 | 3 | 2 |
40 | (A ? (not (C) and B) : A) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
41 | (C nor (B xor A)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
42 | (A ? (not (C) and B) : (not (B) and C)) | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
43 | (A ? (not (C) and B) : (B xor 1)) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
44 | (B and not (C)) | 1 | 1 | 1 | 2 | 2 | 1 | 1 |
45 | (A ? (not (C) and B) : (C xor 1)) | 4 | 4 | 4 | 5 | 5 | 4 | 3 |
46 | (A ? (not (C) and B) : (B xor C)) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
47 | (B ? not (C) : not (A)) | 5 | 5 | 5 | 6 | 6 | 4 | 4 |
48 | (B and (A xor C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
49 | (B ? (A xor C) : (A nor C)) | 7 | 7 | 7 | 7 | 7 | 5 | 6 |
4a | (A ? (not (C) and B) : C) | 3 | 3 | 3 | 3 | 3 | 2 | 3 |
4b | (A xor ((B xor 1) or C)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
4c | (B and (A nand C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
4d | (A ? (not (C) and B) : (B or (C xor 1))) | 7 | 7 | 7 | 8 | 8 | 5 | 6 |
4e | (C ? (not (A) and C) : B) | 3 | 3 | 3 | 5 | 5 | 2 | 3 |
4f | (A ? (not (C) and B) : 1) | 4 | 4 | 4 | 4 | 4 | 3 | 2 |
50 | (A and not (C)) | 1 | 1 | 1 | 2 | 2 | 1 | 1 |
51 | (B ? (not (C) and A) : (C xor 1)) | 4 | 4 | 4 | 5 | 5 | 4 | 3 |
52 | (A ? (not (C) and A) : (not (B) and C)) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
53 | (A ? not (C) : not (B)) | 5 | 5 | 5 | 6 | 6 | 4 | 4 |
54 | (A ? (not (C) and A) : (not (C) and B)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
55 | not (C) | 2 | 2 | 2 | 1 | 1 | 2 | 1 |
56 | (C xor (B or A)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
57 | (C nand (B or A)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
58 | (C ? (not (A) and B) : A) | 3 | 3 | 3 | 3 | 3 | 2 | 3 |
59 | (B ? (A xor C) : (C xor 1)) | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
5a | (C xor A) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
5b | ((A xor C) or ((A or B) xor 1)) | 5 | 5 | 5 | 5 | 5 | 5 | 4 |
5c | (A ? (not (C) and A) : B) | 3 | 3 | 3 | 5 | 5 | 2 | 3 |
5d | (C ? (not (A) and B) : 1) | 4 | 4 | 4 | 4 | 4 | 3 | 2 |
5e | (A ? (not (C) and A) : (B or C)) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
5f | (C nand A) | 3 | 3 | 3 | 2 | 2 | 3 | 2 |
60 | (A and (B xor C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
61 | (A ? (B xor C) : (B nor C)) | 7 | 7 | 7 | 7 | 7 | 5 | 6 |
62 | (B ? (not (C) and A) : C) | 3 | 3 | 3 | 3 | 3 | 2 | 3 |
63 | (B xor ((A xor 1) or C)) | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
64 | (C ? (not (B) and A) : B) | 3 | 3 | 3 | 3 | 3 | 2 | 3 |
65 | (C xor ((A xor 1) or B)) | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
66 | (C xor B) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
67 | ((B xor C) or ((A or B) xor 1)) | 5 | 5 | 5 | 4 | 4 | 5 | 3 |
68 | (A ? (B xor C) : (B and C)) | 5 | 5 | 5 | 6 | 6 | 3 | 5 |
69 | (A xnor (B xor C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
6a | (C xor (B and A)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
6b | (A ? (B xor C) : ((B xor 1) or C)) | 6 | 6 | 6 | 7 | 7 | 5 | 6 |
6c | (B xor (A and C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
6d | (A ? (B xor C) : (B or (C xor 1))) | 6 | 6 | 6 | 7 | 7 | 5 | 6 |
6e | (A ? (B xor C) : (B or C)) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
6f | (A ? (B xor C) : 1) | 4 | 4 | 4 | 4 | 4 | 3 | 4 |
70 | (A and (B nand C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
71 | (B ? (not (C) and A) : (A or (C xor 1))) | 6 | 6 | 6 | 5 | 5 | 5 | 4 |
72 | (C ? (not (B) and C) : A) | 3 | 3 | 3 | 5 | 5 | 2 | 3 |
73 | (B ? (not (C) and A) : 1) | 4 | 4 | 4 | 4 | 4 | 3 | 2 |
74 | (B ? (not (C) and B) : A) | 3 | 3 | 3 | 5 | 5 | 2 | 3 |
75 | (C ? (not (B) and A) : 1) | 4 | 4 | 4 | 4 | 4 | 3 | 2 |
76 | (B ? (not (C) and B) : (A or C)) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
77 | (C nand B) | 3 | 3 | 3 | 2 | 2 | 3 | 2 |
78 | (A xor (B and C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
79 | (B ? (A xor C) : (A or (C xor 1))) | 6 | 6 | 6 | 7 | 7 | 5 | 6 |
7a | (A ? ((B and C) xor A) : C) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
7b | (B ? (A xor C) : 1) | 4 | 4 | 4 | 3 | 3 | 3 | 2 |
7c | (A ? ((B and C) xor A) : B) | 3 | 3 | 3 | 4 | 4 | 3 | 3 |
7d | (C ? (A xor B) : 1) | 4 | 4 | 4 | 4 | 4 | 3 | 4 |
7e | (A ? ((B and C) xor A) : (B or C)) | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
7f | (A ? ((B and C) xor A) : 1) | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
80 | (A and (B and C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
81 | (not ((A xor C)) and (A xor (B xor 1))) | 5 | 5 | 5 | 6 | 6 | 5 | 5 |
82 | (C and (B xnor A)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
83 | (not ((A xor B)) and ((A xor 1) or C)) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
84 | (B and (A xnor C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
85 | (not ((A xor C)) and (B or (C xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
86 | ((B or C) and (C xor (A xor B))) | 4 | 4 | 4 | 4 | 4 | 3 | 4 |
87 | (A xnor (B and C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
88 | (C and B) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
89 | (not ((B xor C)) and ((A xor 1) or B)) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
8a | (not ((not (B) and A)) and C) | 2 | 2 | 2 | 4 | 4 | 2 | 2 |
8b | (B ? C : not (A)) | 5 | 5 | 5 | 5 | 5 | 3 | 4 |
8c | (not ((not (C) and A)) and B) | 2 | 2 | 2 | 4 | 4 | 2 | 2 |
8d | (C ? B : not (A)) | 5 | 5 | 5 | 5 | 5 | 3 | 4 |
8e | ((B and C) or (not (A) and (B xor C))) | 4 | 4 | 4 | 5 | 5 | 3 | 4 |
8f | (A ? (B and C) : 1) | 4 | 4 | 4 | 3 | 3 | 3 | 2 |
90 | (A and (B xnor C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
91 | (not ((B xor C)) and (A or (B xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
92 | ((A or C) and (C xor (A xor B))) | 4 | 4 | 4 | 4 | 4 | 3 | 4 |
93 | (B xnor (A and C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
94 | ((A or B) and (B xor (A xor C))) | 4 | 4 | 4 | 4 | 4 | 3 | 4 |
95 | (C xnor (B and A)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
96 | (A xor (B xor C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
97 | (A ? (B xnor C) : (B nand C)) | 7 | 7 | 7 | 8 | 8 | 6 | 6 |
98 | (B ? C : (not (C) and A)) | 3 | 3 | 3 | 4 | 4 | 2 | 3 |
99 | (C xnor B) | 3 | 3 | 3 | 2 | 2 | 3 | 2 |
9a | (B ? C : (A xor C)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
9b | ((not (A) and C) or (B xor (C xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
9c | (C ? B : (A xor B)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
9d | ((not (A) and B) or (B xor (C xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
9e | (A ? ((not (B) and A) xor C) : (B or C)) | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
9f | (A nand (B xor C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
a0 | (C and A) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
a1 | (not ((A xor C)) and (A or (B xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
a2 | (not ((not (A) and B)) and C) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
a3 | (A ? C : not (B)) | 5 | 5 | 5 | 5 | 5 | 3 | 4 |
a4 | (A ? C : (not (C) and B)) | 3 | 3 | 3 | 4 | 4 | 2 | 3 |
a5 | (C xnor A) | 3 | 3 | 3 | 2 | 2 | 3 | 2 |
a6 | ((not (A) and B) xor C) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
a7 | ((not (B) and C) or (A xor (C xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
a8 | (C and (A or B)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
a9 | (C xnor (B or A)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
aa | C | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ab | (C or (B nor A)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
ac | (A ? C : B) | 3 | 3 | 3 | 4 | 4 | 1 | 3 |
ad | ((B and C) or (A xor (C xor 1))) | 5 | 5 | 5 | 5 | 5 | 4 | 5 |
ae | ((not (A) and B) or C) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
af | (A ? C : 1) | 3 | 3 | 3 | 2 | 2 | 2 | 1 |
b0 | (not ((not (C) and B)) and A) | 2 | 2 | 2 | 4 | 4 | 2 | 2 |
b1 | (C ? A : not (B)) | 5 | 5 | 5 | 5 | 5 | 3 | 4 |
b2 | (B ? (A and C) : (A or C)) | 5 | 5 | 5 | 6 | 6 | 3 | 5 |
b3 | (B ? (A and C) : 1) | 4 | 4 | 4 | 3 | 3 | 3 | 2 |
b4 | (C ? A : (A xor B)) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
b5 | ((not (B) and A) or (A xor (C xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
b6 | (A ? (C or (A xor B)) : (B xor C)) | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
b7 | (B nand (A xor C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
b8 | (B ? C : A) | 3 | 3 | 3 | 4 | 4 | 1 | 3 |
b9 | ((A and C) or (B xor (C xor 1))) | 5 | 5 | 5 | 5 | 5 | 4 | 3 |
ba | ((not (B) and A) or C) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
bb | (B ? C : 1) | 3 | 3 | 3 | 2 | 2 | 2 | 1 |
bc | ((A and C) or (A xor B)) | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
bd | ((A xor B) or (A xor (C xor 1))) | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
be | (C or (B xor A)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
bf | (C or (B nand A)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
c0 | (B and A) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
c1 | (not ((A xor B)) and (A or (C xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
c2 | (A ? B : (not (B) and C)) | 3 | 3 | 3 | 4 | 4 | 2 | 3 |
c3 | (B xnor A) | 3 | 3 | 3 | 2 | 2 | 3 | 2 |
c4 | (not ((not (A) and C)) and B) | 2 | 2 | 2 | 4 | 4 | 2 | 2 |
c5 | (A ? B : not (C)) | 5 | 5 | 5 | 5 | 5 | 3 | 4 |
c6 | ((not (A) and C) xor B) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
c7 | ((not (C) and B) or (A xor (B xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
c8 | (B and (A or C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
c9 | (B xnor (A or C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
ca | (A ? B : C) | 3 | 3 | 3 | 4 | 4 | 1 | 3 |
cb | ((B and C) or (A xor (B xor 1))) | 5 | 5 | 5 | 5 | 5 | 4 | 5 |
cc | B | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
cd | (B or (A nor C)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
ce | ((not (A) and C) or B) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
cf | (A ? B : 1) | 3 | 3 | 3 | 2 | 2 | 2 | 1 |
d0 | (not ((not (B) and C)) and A) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
d1 | ((B nor C) or (A and B)) | 5 | 5 | 5 | 4 | 4 | 3 | 3 |
d2 | ((not (B) and C) xor A) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
d3 | ((not (C) and A) or (A xor (B xor 1))) | 5 | 5 | 5 | 6 | 6 | 4 | 5 |
d4 | ((B and not (C)) or (A and (B xnor C))) | 4 | 4 | 4 | 6 | 6 | 3 | 4 |
d5 | (C ? (A and B) : 1) | 4 | 4 | 4 | 3 | 3 | 3 | 2 |
d6 | (A ? (B or (A xor C)) : (B xor C)) | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
d7 | (C nand (B xor A)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
d8 | (C ? B : A) | 3 | 3 | 3 | 4 | 4 | 1 | 3 |
d9 | ((A and B) or (B xor (C xor 1))) | 5 | 5 | 5 | 4 | 4 | 4 | 3 |
da | ((A and B) or (A xor C)) | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
db | ((A xor C) or (A xor (B xor 1))) | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
dc | ((not (C) and A) or B) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
dd | (C ? B : 1) | 3 | 3 | 3 | 2 | 2 | 2 | 1 |
de | (B or (A xor C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
df | (B or (A nand C)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
e0 | (A and (B or C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
e1 | (A xnor (B or C)) | 4 | 4 | 4 | 3 | 3 | 4 | 3 |
e2 | (B ? A : C) | 3 | 3 | 3 | 4 | 4 | 1 | 3 |
e3 | ((A and C) or (A xor (B xor 1))) | 5 | 5 | 5 | 5 | 5 | 4 | 5 |
e4 | (C ? A : B) | 3 | 3 | 3 | 4 | 4 | 1 | 3 |
e5 | ((A and B) or (A xor (C xor 1))) | 5 | 5 | 5 | 5 | 5 | 4 | 5 |
e6 | ((A and B) or (B xor C)) | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
e7 | ((B xor C) or (A xor (B xor 1))) | 5 | 5 | 5 | 4 | 4 | 5 | 4 |
e8 | ((B and C) or (A and (B xor C))) | 4 | 4 | 4 | 4 | 4 | 3 | 4 |
e9 | ((A and B) or (B xor (A xor (C xor 1)))) | 6 | 6 | 6 | 5 | 5 | 5 | 5 |
ea | (C or (B and A)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
eb | (C or (B xnor A)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
ec | (B or (A and C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
ed | (B or (A xnor C)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
ee | (C or B) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
ef | (A ? (B or C) : 1) | 4 | 4 | 4 | 3 | 3 | 3 | 2 |
f0 | A | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
f1 | (A or (B nor C)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
f2 | ((not (B) and C) or A) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
f3 | (B ? A : 1) | 3 | 3 | 3 | 2 | 2 | 2 | 1 |
f4 | ((not (C) and B) or A) | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
f5 | (C ? A : 1) | 3 | 3 | 3 | 2 | 2 | 2 | 1 |
f6 | (A or (B xor C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
f7 | (A or (B nand C)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
f8 | (A or (B and C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
f9 | (A or (B xnor C)) | 4 | 4 | 4 | 3 | 3 | 4 | 2 |
fa | (C or A) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
fb | (B ? (A or C) : 1) | 4 | 4 | 4 | 3 | 3 | 3 | 2 |
fc | (B or A) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
fd | (C ? (A or B) : 1) | 4 | 4 | 4 | 3 | 3 | 3 | 2 |
fe | (A or (B or C)) | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
ff | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |