github.com/minio/simdjson-go@v0.4.6-0.20231116094823-04d21cddf993/finalize_structurals_amd64.s (about) 1 //+build !noasm !appengine gc 2 // AUTO-GENERATED BY C2GOASM -- DO NOT EDIT 3 4 #include "common.h" 5 6 TEXT ·_finalize_structurals(SB), $0-48 7 8 MOVQ structurals_in+0(FP), DI 9 MOVQ whitespace+8(FP), SI 10 MOVQ quote_mask+16(FP), DX 11 MOVQ quote_bits+24(FP), CX 12 MOVQ prev_iter_ends_pseudo_pred+32(FP), R8 13 14 CALL ·__finalize_structurals(SB) 15 16 MOVQ AX, structurals+40(FP) 17 RET 18 19 TEXT ·__finalize_structurals(SB), $0 20 21 ANDNQ DI, DX, DI // andn rdi, rdx, rdi 22 ORQ CX, DI // or rdi, rcx 23 MOVQ DI, AX // mov rax, rdi 24 ORQ SI, AX // or rax, rsi 25 LEAQ (AX)(AX*1), R9 // lea r9, [rax + rax] 26 ORQ (R8), R9 // or r9, qword [r8] 27 SHRQ $63, AX // shr rax, 63 28 MOVQ AX, (R8) // mov qword [r8], rax 29 NOTQ SI // not rsi 30 ANDNQ SI, DX, AX // andn rax, rdx, rsi 31 ANDQ R9, AX // and rax, r9 32 ORQ DI, AX // or rax, rdi 33 NOTQ CX // not rcx 34 ORQ DX, CX // or rcx, rdx 35 ANDQ CX, AX // and rax, rcx 36 RET 37 38 TEXT ·__finalize_structurals_avx512(SB), $0 39 40 KMOVQ K_WHITESPACE, SI 41 KMOVQ K_QUOTEBITS, CX 42 KMOVQ K_STRUCTURALS, DI 43 ANDNQ DI, DX, DI // andn rdi, rdx, rdi 44 ORQ CX, DI // or rdi, rcx 45 MOVQ DI, AX // mov rax, rdi 46 ORQ SI, AX // or rax, rsi 47 LEAQ (AX)(AX*1), R9 // lea r9, [rax + rax] 48 ORQ (R8), R9 // or r9, qword [r8] 49 SHRQ $63, AX // shr rax, 63 50 MOVQ AX, (R8) // mov qword [r8], rax 51 NOTQ SI // not rsi 52 ANDNQ SI, DX, AX // andn rax, rdx, rsi 53 ANDQ R9, AX // and rax, r9 54 ORQ DI, AX // or rax, rdi 55 NOTQ CX // not rcx 56 ORQ DX, CX // or rcx, rdx 57 ANDQ CX, AX // and rax, rcx 58 RET