b018908475
https://boringssl-review.googlesource.com/c/boringssl/+/24945 was mistaken in that it thought that these AVX-512 assembly extensions were an instruction-level thing, whereas they actually appear to be an argument-level modifier. This change parses them as such and unbreaks some AVX-512 instructions that can be emitted by compilers with certain combinations of flags. Change-Id: I9af5a4fec21f55d3198a248c9175252e229c355a Reviewed-on: https://boringssl-review.googlesource.com/c/32484 Commit-Queue: Adam Langley <agl@google.com> Commit-Queue: David Benjamin <davidben@google.com> Reviewed-by: David Benjamin <davidben@google.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
50 lines
1.3 KiB
ArmAsm
50 lines
1.3 KiB
ArmAsm
# Most instructions and lines should pass unaltered. This is made up of
|
|
# copy-and-pasted bits of compiler output and likely does not actually
|
|
# run.
|
|
.file "bcm.c"
|
|
.text
|
|
|
|
.type foo, @function
|
|
.globl foo
|
|
foo:
|
|
.file 1 "../foo/bar.c"
|
|
.loc 1 2 3
|
|
.cfi_startproc
|
|
pushq %rbp
|
|
.cfi_def_cfa_offset 16
|
|
.cfi_offset 6, -16
|
|
.cfi_adjust_cfa_offset 32*5+8
|
|
movq %rsp, %rbp
|
|
movq %rdi, -24(%rbp)
|
|
movq -24(%rbp), %rax
|
|
.loc 1 168 0 is_stmt 0 discriminator 1
|
|
cmpq -8(%rbp), %rax
|
|
jmpq *%rax
|
|
movdqa %xmm3,%xmm10
|
|
psrlq $1,%xmm3
|
|
pxor %xmm6,%xmm5
|
|
pxor %xmm4,%xmm3
|
|
pand %xmm7,%xmm5
|
|
pand %xmm7,%xmm3
|
|
pxor %xmm5,%xmm6
|
|
paddd 112(%r11),%xmm15
|
|
vmovdqa %xmm0,%xmm5
|
|
vpunpckhqdq %xmm0,%xmm0,%xmm3
|
|
vpxor %xmm0,%xmm3,%xmm3
|
|
vpclmulqdq $0x11,%xmm2,%xmm0,%xmm1
|
|
vpclmulqdq $0x00,%xmm2,%xmm0,%xmm0
|
|
vpclmulqdq $0x00,%xmm6,%xmm3,%xmm3
|
|
vpxor %xmm0,%xmm1,%xmm4
|
|
vpxor %xmm4,%xmm3,%xmm3
|
|
vmovdqu8 %ymm1,%ymm6{%k1}{z}
|
|
vmovdqu8 %ymm2,%ymm4{%k3}
|
|
vpcmpneqq .LCPI508_30(%rip){1to8}, %zmm1, %k0
|
|
vmovdqu64 -88(%rbx), %zmm0 {%k1}
|
|
vmovdqu64 352(%rsp,%rbx), %ymm1 {%k1}
|
|
.byte 0xf3,0xc3
|
|
movq %rax, %rbx # Comments can be on the same line as an instruction.
|
|
.L3: # Or on the same line as a label.
|
|
.L4: .L5: movq %rbx, %rax # This is also legal.
|
|
.size foo, .-foo
|
|
.type foo, @function
|