Skip to content

Commit

Permalink
More workarounds for old clang
Browse files Browse the repository at this point in the history
  • Loading branch information
sadko4u committed Oct 10, 2023
1 parent d2c20a7 commit 4c282b0
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions include/private/dsp/arch/x86/sse/complex.h
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,8 @@ namespace lsp
(
__ASM_EMIT ("xor %[off], %[off]")
// x4 blocks
__ASM_EMIT ("sub $4, %[count]")
__ASM_EMIT32("subl $4, %[count]") \
__ASM_EMIT64("sub $4, %[count]") \
__ASM_EMIT ("jb 2f")
__ASM_EMIT ("1:")
__ASM_EMIT32("mov %[t_re], %[ptr_re]")
Expand Down Expand Up @@ -333,11 +334,13 @@ namespace lsp
__ASM_EMIT64("movups %%xmm0, 0x00(%[dst_re], %[off])")
__ASM_EMIT64("movups %%xmm1, 0x00(%[dst_im], %[off])")
__ASM_EMIT ("add $0x10, %[off]")
__ASM_EMIT ("sub $4, %[count]")
__ASM_EMIT32("subl $4, %[count]") \
__ASM_EMIT64("sub $4, %[count]") \
__ASM_EMIT ("jae 1b")
__ASM_EMIT ("2:")
// x1 blocks
__ASM_EMIT ("add $3, %[count]")
__ASM_EMIT32("addl $4, %[count]") \
__ASM_EMIT64("add $4, %[count]") \
__ASM_EMIT ("jl 4f")
__ASM_EMIT ("3:")
__ASM_EMIT32("mov %[t_re], %[ptr_re]")
Expand Down Expand Up @@ -372,15 +375,16 @@ namespace lsp
__ASM_EMIT64("movss %%xmm0, 0x00(%[dst_re], %[off])")
__ASM_EMIT64("movss %%xmm1, 0x00(%[dst_im], %[off])")
__ASM_EMIT ("add $0x04, %[off]")
__ASM_EMIT ("dec %[count]")
__ASM_EMIT32("decl %[count]") \
__ASM_EMIT64("dec %[count]") \
__ASM_EMIT ("jge 3b")
__ASM_EMIT ("4:")
/* end */

: __IF_32(
[ptr_re] "=&r" (ptr_re), [ptr_im] "=&r" (ptr_im),
)
[count] "+r" (count), [off] "=&r" (off)
[count] X86_PGREG(count), [off] "=&r" (off)
: [dst_re] X86_GREG (dst_re), [dst_im] X86_GREG (dst_im),
[t_re] X86_GREG (t_re), [t_im] X86_GREG (t_im),
[b_re] "r" (b_re), [b_im] "r" (b_im),
Expand Down

0 comments on commit 4c282b0

Please sign in to comment.