// File: attractivechaos[P]udb2/phmap/./phmap.h
// Function: phmap::container_internal::GroupSse2Impl::ConvertSpecialToEmptyAndFullToDeleted(signed char*) const
void ConvertSpecialToEmptyAndFullToDeleted(ctrl_t* dst) const {
        auto msbs = _mm_set1_epi8(static_cast<char>(-128));
        auto x126 = _mm_set1_epi8(126);
#if PHMAP_HAVE_SSSE3
        auto res = _mm_or_si128(_mm_shuffle_epi8(x126, ctrl), msbs);
#else
        auto zero = _mm_setzero_si128();
        auto special_mask = _mm_cmpgt_epi8_fixed(zero, ctrl);
        auto res = _mm_or_si128(msbs, _mm_andnot_si128(special_mask, x126));
#endif
        _mm_storeu_si128(reinterpret_cast<__m128i*>(dst), res);
    }

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq 0x60(%rsp), %rax
movb $-0x80, 0x6f(%rsp)
movb 0x6f(%rsp), %cl
movb %cl, 0x8f(%rsp)
movb %cl, 0x8e(%rsp)
movb %cl, 0x8d(%rsp)
movb %cl, 0x8c(%rsp)
movb %cl, 0x8b(%rsp)
movb %cl, 0x8a(%rsp)
movb %cl, 0x89(%rsp)
movb %cl, 0x88(%rsp)
movb %cl, 0x87(%rsp)
movb %cl, 0x86(%rsp)
movb %cl, 0x85(%rsp)
movb %cl, 0x84(%rsp)
movb %cl, 0x83(%rsp)
movb %cl, 0x82(%rsp)
movb %cl, 0x81(%rsp)
movb %cl, 0x80(%rsp)
movzbl 0x8f(%rsp), %ecx
movd %ecx, %xmm0
movzbl 0x8e(%rsp), %ecx
movd %ecx, %xmm1
punpcklbw %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
movzbl 0x8d(%rsp), %ecx
movd %ecx, %xmm2
movzbl 0x8c(%rsp), %ecx
movd %ecx, %xmm0
punpcklbw %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3],xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzbl 0x8b(%rsp), %ecx
movd %ecx, %xmm1
movzbl 0x8a(%rsp), %ecx
movd %ecx, %xmm2
punpcklbw %xmm1, %xmm2    # xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3],xmm2[4],xmm1[4],xmm2[5],xmm1[5],xmm2[6],xmm1[6],xmm2[7],xmm1[7]
movzbl 0x89(%rsp), %ecx
movd %ecx, %xmm3
movzbl 0x88(%rsp), %ecx
movd %ecx, %xmm1
punpcklbw %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3],xmm1[4],xmm3[4],xmm1[5],xmm3[5],xmm1[6],xmm3[6],xmm1[7],xmm3[7]
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzbl 0x87(%rsp), %ecx
movd %ecx, %xmm2
movzbl 0x86(%rsp), %ecx
movd %ecx, %xmm0
punpcklbw %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3],xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]
movzbl 0x85(%rsp), %ecx
movd %ecx, %xmm3
movzbl 0x84(%rsp), %ecx
movd %ecx, %xmm2
punpcklbw %xmm3, %xmm2    # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3],xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzbl 0x83(%rsp), %ecx
movd %ecx, %xmm0
movzbl 0x82(%rsp), %ecx
movd %ecx, %xmm3
punpcklbw %xmm0, %xmm3    # xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3],xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]
movzbl 0x81(%rsp), %ecx
movd %ecx, %xmm4
movzbl 0x80(%rsp), %ecx
movd %ecx, %xmm0
punpcklbw %xmm4, %xmm0    # xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3],xmm0[4],xmm4[4],xmm0[5],xmm4[5],xmm0[6],xmm4[6],xmm0[7],xmm4[7]
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, 0x70(%rsp)
movaps 0x70(%rsp), %xmm0
movaps %xmm0, 0x40(%rsp)
movb $0x7e, 0x6e(%rsp)
movb 0x6e(%rsp), %cl
movb %cl, 0xaf(%rsp)
movb %cl, 0xae(%rsp)
movb %cl, 0xad(%rsp)
movb %cl, 0xac(%rsp)
movb %cl, 0xab(%rsp)
movb %cl, 0xaa(%rsp)
movb %cl, 0xa9(%rsp)
movb %cl, 0xa8(%rsp)
movb %cl, 0xa7(%rsp)
movb %cl, 0xa6(%rsp)
movb %cl, 0xa5(%rsp)
movb %cl, 0xa4(%rsp)
movb %cl, 0xa3(%rsp)
movb %cl, 0xa2(%rsp)
movb %cl, 0xa1(%rsp)
movb %cl, 0xa0(%rsp)
movzbl 0xaf(%rsp), %ecx
movd %ecx, %xmm0
movzbl 0xae(%rsp), %ecx
movd %ecx, %xmm1
punpcklbw %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
movzbl 0xad(%rsp), %ecx
movd %ecx, %xmm2
movzbl 0xac(%rsp), %ecx
movd %ecx, %xmm0
punpcklbw %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3],xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzbl 0xab(%rsp), %ecx
movd %ecx, %xmm1
movzbl 0xaa(%rsp), %ecx
movd %ecx, %xmm2
punpcklbw %xmm1, %xmm2    # xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3],xmm2[4],xmm1[4],xmm2[5],xmm1[5],xmm2[6],xmm1[6],xmm2[7],xmm1[7]
movzbl 0xa9(%rsp), %ecx
movd %ecx, %xmm3
movzbl 0xa8(%rsp), %ecx
movd %ecx, %xmm1
punpcklbw %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3],xmm1[4],xmm3[4],xmm1[5],xmm3[5],xmm1[6],xmm3[6],xmm1[7],xmm3[7]
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzbl 0xa7(%rsp), %ecx
movd %ecx, %xmm2
movzbl 0xa6(%rsp), %ecx
movd %ecx, %xmm0
punpcklbw %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3],xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]
movzbl 0xa5(%rsp), %ecx
movd %ecx, %xmm3
movzbl 0xa4(%rsp), %ecx
movd %ecx, %xmm2
punpcklbw %xmm3, %xmm2    # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3],xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzbl 0xa3(%rsp), %ecx
movd %ecx, %xmm0
movzbl 0xa2(%rsp), %ecx
movd %ecx, %xmm3
punpcklbw %xmm0, %xmm3    # xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3],xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]
movzbl 0xa1(%rsp), %ecx
movd %ecx, %xmm4
movzbl 0xa0(%rsp), %ecx
movd %ecx, %xmm0
punpcklbw %xmm4, %xmm0    # xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3],xmm0[4],xmm4[4],xmm0[5],xmm4[5],xmm0[6],xmm4[6],xmm0[7],xmm4[7]
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, 0x90(%rsp)
movaps 0x90(%rsp), %xmm0
movaps %xmm0, 0x30(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0xb0(%rsp)
movaps 0xb0(%rsp), %xmm0
movaps %xmm0, 0x20(%rsp)
movaps 0x20(%rsp), %xmm0
movaps (%rax), %xmm1
callq 0x3670
movaps %xmm0, 0x10(%rsp)
movaps 0x40(%rsp), %xmm1
movaps 0x10(%rsp), %xmm2
movaps 0x30(%rsp), %xmm0
movaps %xmm2, 0xf0(%rsp)
movaps %xmm0, 0xe0(%rsp)
movaps 0xf0(%rsp), %xmm0
pcmpeqd %xmm2, %xmm2
pxor %xmm2, %xmm0
pand 0xe0(%rsp), %xmm0
movdqa %xmm1, 0xd0(%rsp)
movdqa %xmm0, 0xc0(%rsp)
movdqa 0xd0(%rsp), %xmm0
por 0xc0(%rsp), %xmm0
movdqa %xmm0, (%rsp)
movq 0x58(%rsp), %rax
movdqa (%rsp), %xmm0
movq %rax, 0x110(%rsp)
movdqa %xmm0, 0x100(%rsp)
movdqa 0x100(%rsp), %xmm0
movq 0x110(%rsp), %rax
movdqu %xmm0, (%rax)
addq $0x118, %rsp            # imm = 0x118
retq
nopw (%rax,%rax)