Skip to content

Commit d22937c

Browse files
committed
Release 0.5.11
* Improved build: fixed many GCC warnings. * DSP library can now be compiled with Clang C++ compiler.
2 parents d0df257 + ed34ce2 commit d22937c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+2440
-1316
lines changed

CHANGELOG

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
* RECENT CHANGES
33
*******************************************************************************
44

5+
=== 0.5.11 ===
6+
* Improved build: fixed many GCC warnings.
7+
* DSP library can now be compiled with Clang C++ compiler.
8+
59
=== 0.5.10 ===
610
* Updated build scripts.
711
* Reviewed generic abgr32_to_bgrff function implementation for Big endian platforms.

dependencies.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#
2020

2121
# Variables that describe dependencies
22-
LSP_COMMON_LIB_VERSION := 1.0.10
22+
LSP_COMMON_LIB_VERSION := 1.0.11
2323
LSP_COMMON_LIB_NAME := lsp-common-lib
2424
LSP_COMMON_LIB_TYPE := src
2525
LSP_COMMON_LIB_URL := https://github.com/sadko4u/$(LSP_COMMON_LIB_NAME).git

include/lsp-plug.in/dsp/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
// Define version of headers
2626
#define LSP_DSP_LIB_MAJOR 0
2727
#define LSP_DSP_LIB_MINOR 5
28-
#define LSP_DSP_LIB_MICRO 10
28+
#define LSP_DSP_LIB_MICRO 11
2929

3030
#ifdef LSP_DSP_LIB_BUILTIN
3131
#define LSP_DSP_LIB_CPPEXPORT

include/private/dsp/arch/x86/avx/fft/normalize.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ namespace lsp
6969
: [off] "+r" (off), [count] __ASM_ARG_RW(count)
7070
: [s_re] "r" (re), [s_im] "r" (im),
7171
[d_re] "r" (dre), [d_im] "r" (dim),
72-
[k] "o" (k)
72+
[k] "m" (k)
7373
: "cc", "memory",
7474
"%xmm0", "%xmm1",
7575
"%xmm4", "%xmm5", "%xmm6", "%xmm7"
@@ -114,7 +114,7 @@ namespace lsp
114114
__ASM_EMIT ("4:")
115115
: [off] "+r" (off), [count] "+r" (count)
116116
: [d_re] "r" (re), [d_im] "r" (im),
117-
[k] "o" (k)
117+
[k] "m" (k)
118118
: "cc", "memory",
119119
"%xmm0", "%xmm1",
120120
"%xmm4", "%xmm5", "%xmm6", "%xmm7"

include/private/dsp/arch/x86/avx/fft/p_repack.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ namespace lsp
130130
__ASM_EMIT("4:")
131131

132132
: [dst] "+r"(dst), [blocks] "+r" (blocks)
133-
: [norm] "o" (norm)
133+
: [norm] "m" (norm)
134134
: "cc", "memory",
135135
"%xmm0", "%xmm1", "%xmm2", "%xmm3",
136136
"%xmm4", "%xmm5", "%xmm6", "%xmm7"

include/private/dsp/arch/x86/avx/filters/transfer.h

Lines changed: 212 additions & 208 deletions
Large diffs are not rendered by default.

include/private/dsp/arch/x86/avx/filters/transform.h

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ namespace lsp
8484
__ASM_EMIT("vaddps %%xmm6, %%xmm6, %%xmm6") // xmm6 = 2*(B2 - B0)
8585
__ASM_EMIT("vmulps %%xmm5, %%xmm7, %%xmm7") // xmm7 = b2' = (B1 - B2 + B0) * N
8686
__ASM_EMIT("vmulps %%xmm5, %%xmm6, %%xmm6") // xmm6 = b1' = 2 * (B2 - B0) * N
87-
__ASM_EMIT("vmovaps %%xmm5, 0x00 + %[DATA]") // store N
88-
__ASM_EMIT("vmovaps %%xmm6, 0x10 + %[DATA]") // store b1
89-
__ASM_EMIT("vmovaps %%xmm7, 0x20 + %[DATA]") // store b2
87+
__ASM_EMIT("vmovaps %%xmm5, 0x00(%[DATA])") // store N
88+
__ASM_EMIT("vmovaps %%xmm6, 0x10(%[DATA])") // store b1
89+
__ASM_EMIT("vmovaps %%xmm7, 0x20(%[DATA])") // store b2
9090

9191
// Load Top part of cascade and transpose
9292
__ASM_EMIT("vmovaps 0x00(%[bc]), %%xmm2") // xmm2 = t0[0] t1[0] t2[0] ?
@@ -103,7 +103,7 @@ namespace lsp
103103
__ASM_EMIT("vunpcklps %%xmm7, %%xmm5, %%xmm4") // xmm4 = t20 t21 t22 t23
104104

105105
// x2 = T0 = t0, x3=t1, x4=t2
106-
__ASM_EMIT("vmovaps 0x00 + %[DATA], %%xmm7") // load N
106+
__ASM_EMIT("vmovaps 0x00(%[DATA]), %%xmm7") // load N
107107
__ASM_EMIT("vmulps %%xmm1, %%xmm4, %%xmm6") // xmm6 = T2 = t2*kf2
108108
__ASM_EMIT("vmulps %%xmm0, %%xmm3, %%xmm5") // xmm5 = T1 = t1*kf
109109
__ASM_EMIT("vaddps %%xmm6, %%xmm2, %%xmm4") // xmm4 = T0 + T2
@@ -113,7 +113,7 @@ namespace lsp
113113
__ASM_EMIT("vmulps %%xmm7, %%xmm2, %%xmm2") // xmm2 = a0 = (T0 + T1 + T2) * N
114114
__ASM_EMIT("vsubps %%xmm5, %%xmm4, %%xmm4") // xmm4 = T0 - T1 + T2
115115
__ASM_EMIT("vmulps %%xmm7, %%xmm3, %%xmm3") // xmm3 = a1 = 2*(T0 - T2) * N
116-
__ASM_EMIT("vmovaps 0x10 + %[DATA], %%xmm5") // xmm5 = b1
116+
__ASM_EMIT("vmovaps 0x10(%[DATA]), %%xmm5") // xmm5 = b1
117117
__ASM_EMIT("vmulps %%xmm7, %%xmm4, %%xmm4") // xmm4 = a2 = (T0 - T1 + T2) * N
118118

119119
__ASM_EMIT("vunpckhps %%xmm5, %%xmm3, %%xmm7")
@@ -125,14 +125,14 @@ namespace lsp
125125
__ASM_EMIT("vunpcklps %%xmm7, %%xmm5, %%xmm4")
126126
__ASM_EMIT("vunpckhps %%xmm7, %%xmm5, %%xmm5")
127127

128-
__ASM_EMIT("vmovss 0x20 + %[DATA], %%xmm6") // x6 = b1[0] 0 0 0
129-
__ASM_EMIT("vmovss 0x24 + %[DATA], %%xmm7") // x7 = b1[1] 0 0 0
128+
__ASM_EMIT("vmovss 0x20(%[DATA]), %%xmm6") // x6 = b1[0] 0 0 0
129+
__ASM_EMIT("vmovss 0x24(%[DATA]), %%xmm7") // x7 = b1[1] 0 0 0
130130
__ASM_EMIT("vmovaps %%xmm2, 0x00(%[bf])")
131131
__ASM_EMIT("vmovaps %%xmm6, 0x10(%[bf])")
132132
__ASM_EMIT("vmovaps %%xmm3, 0x20(%[bf])")
133133
__ASM_EMIT("vmovaps %%xmm7, 0x30(%[bf])")
134-
__ASM_EMIT("vmovss 0x28 + %[DATA], %%xmm6") // x4 = b1[2] 0 0 0
135-
__ASM_EMIT("vmovss 0x2c + %[DATA], %%xmm7") // x5 = b1[3] 0 0 0
134+
__ASM_EMIT("vmovss 0x28(%[DATA]), %%xmm6") // x4 = b1[2] 0 0 0
135+
__ASM_EMIT("vmovss 0x2c(%[DATA]), %%xmm7") // x5 = b1[3] 0 0 0
136136
__ASM_EMIT("vmovaps %%xmm4, 0x40(%[bf])")
137137
__ASM_EMIT("vmovaps %%xmm6, 0x50(%[bf])")
138138
__ASM_EMIT("vmovaps %%xmm5, 0x60(%[bf])")
@@ -197,8 +197,8 @@ namespace lsp
197197
__ASM_EMIT("100:")
198198
: [bc] "+r" (bc), [bf] "+r" (bf), [count] "+r" (count)
199199
: [ONE] "m" (bilinear_transform_const),
200-
[kf] "o" (kf),
201-
[DATA] "o" (DATA)
200+
[kf] "m" (kf),
201+
[DATA] "r" (DATA)
202202
: "cc", "memory",
203203
"%xmm0", "%xmm1", "%xmm2", "%xmm3",
204204
"%xmm4", "%xmm5", "%xmm6", "%xmm7"
@@ -249,7 +249,7 @@ namespace lsp
249249
__ASM_EMIT("vmulps %%xmm5, %%xmm7, %%xmm7") // xmm7 = b2' = (B1 - B2 + B0) * N
250250
__ASM_EMIT("vmulps %%xmm5, %%xmm6, %%xmm6") // xmm6 = b1' = 2 * (B2 - B0) * N
251251
__ASM_EMIT("vxorps %%xmm4, %%xmm4, %%xmm4") // xmm4 = 0
252-
__ASM_EMIT("vmovaps %%xmm5, 0x00 + %[DATA]") // store N
252+
__ASM_EMIT("vmovaps %%xmm5, %[DATA]") // store N
253253
__ASM_EMIT("vmovlps %%xmm6, 0x18(%[bf])")
254254
__ASM_EMIT("vmovlps %%xmm7, 0x20(%[bf])")
255255
__ASM_EMIT("vmovlps %%xmm4, 0x28(%[bf])")
@@ -272,7 +272,7 @@ namespace lsp
272272
__ASM_EMIT("vunpcklps %%xmm7, %%xmm5, %%xmm4") // xmm4 = t20 t21 t22 t23
273273

274274
// x2 = T0 = t0, x3=t1, x4=t2
275-
__ASM_EMIT("vmovaps 0x00 + %[DATA], %%xmm7") // load N
275+
__ASM_EMIT("vmovaps %[DATA], %%xmm7") // load N
276276
__ASM_EMIT("vmulps %%xmm1, %%xmm4, %%xmm6") // xmm6 = T2 = t2*kf2
277277
__ASM_EMIT("vmulps %%xmm0, %%xmm3, %%xmm5") // xmm5 = T1 = t1*kf
278278
__ASM_EMIT("vaddps %%xmm6, %%xmm2, %%xmm4") // xmm4 = T0 + T2
@@ -354,8 +354,8 @@ namespace lsp
354354

355355
: [bc] "+r" (bc), [bf] "+r" (bf), [count] "+r" (count)
356356
: [ONE] "m" (bilinear_transform_const),
357-
[kf] "o" (kf),
358-
[DATA] "o" (DATA)
357+
[kf] "m" (kf),
358+
[DATA] "m" (DATA)
359359
: "cc", "memory",
360360
"%xmm0", "%xmm1", "%xmm2", "%xmm3",
361361
"%xmm4", "%xmm5", "%xmm6", "%xmm7"
@@ -405,7 +405,7 @@ namespace lsp
405405
__ASM_EMIT("vaddps %%xmm6, %%xmm6, %%xmm6") // xmm6 = 2*(B2 - B0)
406406
__ASM_EMIT("vmulps %%xmm5, %%xmm7, %%xmm7") // xmm7 = b2' = (B1 - B2 + B0) * N
407407
__ASM_EMIT("vmulps %%xmm5, %%xmm6, %%xmm6") // xmm6 = b1' = 2 * (B2 - B0) * N
408-
__ASM_EMIT("vmovaps %%xmm5, 0x00 + %[DATA]") // store N
408+
__ASM_EMIT("vmovaps %%xmm5, %[DATA]") // store N
409409
__ASM_EMIT("vmovaps %%xmm6, 0x30(%[bf])")
410410
__ASM_EMIT("vmovaps %%xmm7, 0x40(%[bf])")
411411

@@ -424,7 +424,7 @@ namespace lsp
424424
__ASM_EMIT("vunpcklps %%xmm7, %%xmm5, %%xmm4") // xmm4 = t20 t21 t22 t23
425425

426426
// x2 = T0 = t0, x3=t1, x4=t2
427-
__ASM_EMIT("vmovaps 0x00 + %[DATA], %%xmm7") // load N
427+
__ASM_EMIT("vmovaps %[DATA], %%xmm7") // load N
428428
__ASM_EMIT("vmulps %%xmm1, %%xmm4, %%xmm6") // xmm6 = T2 = t2*kf2
429429
__ASM_EMIT("vmulps %%xmm0, %%xmm3, %%xmm5") // xmm5 = T1 = t1*kf
430430
__ASM_EMIT("vaddps %%xmm6, %%xmm2, %%xmm4") // xmm4 = T0 + T2
@@ -453,8 +453,8 @@ namespace lsp
453453

454454
: [bc] "+r" (bc), [bf] "+r" (bf), [count] "+r" (count)
455455
: [ONE] "m" (bilinear_transform_const),
456-
[kf] "o" (kf),
457-
[DATA] "o" (DATA)
456+
[kf] "m" (kf),
457+
[DATA] "m" (DATA)
458458
: "cc", "memory",
459459
"%xmm0", "%xmm1", "%xmm2", "%xmm3",
460460
"%xmm4", "%xmm5", "%xmm6", "%xmm7"

include/private/dsp/arch/x86/avx/float.h

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ namespace lsp
106106
LIMIT_BODY("dst", "dst")
107107
: [count] "+r" (count), [off] "=&r" (off)
108108
: [dst] "r" (dst),
109-
[min] "o" (min), [max] "o" (max)
109+
[min] "m" (min), [max] "m" (max)
110110
: "cc", "memory",
111111
"%xmm0", "%xmm1", "%xmm2", "%xmm3",
112112
"%xmm6", "%xmm7"
@@ -120,7 +120,7 @@ namespace lsp
120120
LIMIT_BODY("dst", "src")
121121
: [count] "+r" (count), [off] "=&r" (off)
122122
: [dst] "r" (dst), [src] "r" (src),
123-
[min] "o" (min), [max] "o" (max)
123+
[min] "m" (min), [max] "m" (max)
124124
: "cc", "memory",
125125
"%xmm0", "%xmm1", "%xmm2", "%xmm3",
126126
"%xmm6", "%xmm7"
@@ -137,14 +137,14 @@ namespace lsp
137137
__ASM_EMIT("1:") \
138138
__ASM_EMIT("vmovdqu 0x00(%[" SRC "], %[off]), %%xmm0") /* xmm0 = s */ \
139139
__ASM_EMIT("vmovdqu 0x10(%[" SRC "], %[off]), %%xmm4") \
140-
__ASM_EMIT("vpand 0x00 + %[CVAL], %%xmm0, %%xmm1") /* xmm1 = abs(s) */ \
141-
__ASM_EMIT("vpand 0x00 + %[CVAL], %%xmm4, %%xmm5") \
142-
__ASM_EMIT("vpand 0x10 + %[CVAL], %%xmm0, %%xmm2") /* xmm2 = sign(s) */ \
143-
__ASM_EMIT("vpand 0x10 + %[CVAL], %%xmm4, %%xmm6") \
144-
__ASM_EMIT("vpcmpgtd 0x20 + %[CVAL], %%xmm1, %%xmm3") /* xmm3 = abs(s) > X_MAX */ \
145-
__ASM_EMIT("vpcmpgtd 0x20 + %[CVAL], %%xmm5, %%xmm7") \
146-
__ASM_EMIT("vpcmpgtd 0x30 + %[CVAL], %%xmm1, %%xmm1") /* xmm1 = abs(s) > X_MIN */ \
147-
__ASM_EMIT("vpcmpgtd 0x30 + %[CVAL], %%xmm5, %%xmm5") \
140+
__ASM_EMIT("vpand 0x00(%[CVAL]), %%xmm0, %%xmm1") /* xmm1 = abs(s) */ \
141+
__ASM_EMIT("vpand 0x00(%[CVAL]), %%xmm4, %%xmm5") \
142+
__ASM_EMIT("vpand 0x10(%[CVAL]), %%xmm0, %%xmm2") /* xmm2 = sign(s) */ \
143+
__ASM_EMIT("vpand 0x10(%[CVAL]), %%xmm4, %%xmm6") \
144+
__ASM_EMIT("vpcmpgtd 0x20(%[CVAL]), %%xmm1, %%xmm3") /* xmm3 = abs(s) > X_MAX */ \
145+
__ASM_EMIT("vpcmpgtd 0x20(%[CVAL]), %%xmm5, %%xmm7") \
146+
__ASM_EMIT("vpcmpgtd 0x30(%[CVAL]), %%xmm1, %%xmm1") /* xmm1 = abs(s) > X_MIN */ \
147+
__ASM_EMIT("vpcmpgtd 0x30(%[CVAL]), %%xmm5, %%xmm5") \
148148
__ASM_EMIT("vpandn %%xmm1, %%xmm3, %%xmm1") /* xmm1 = (abs(s) > X_MIN) & (abs(s) <= X_MAX) */ \
149149
__ASM_EMIT("vpandn %%xmm5, %%xmm7, %%xmm5") \
150150
__ASM_EMIT("vblendvps %%xmm1, %%xmm0, %%xmm2, %%xmm0") /* xmm0 = ((abs(s) > X_MIN) & (abs(s) <= X_MAX))) ? s : sign(s) */ \
@@ -159,10 +159,10 @@ namespace lsp
159159
__ASM_EMIT("add $4, %[count]") \
160160
__ASM_EMIT("jl 4f") \
161161
__ASM_EMIT("vmovdqu 0x00(%[" SRC "], %[off]), %%xmm0") /* xmm0 = s */ \
162-
__ASM_EMIT("vpand 0x00 + %[CVAL], %%xmm0, %%xmm1") /* xmm1 = abs(s) */ \
163-
__ASM_EMIT("vpand 0x10 + %[CVAL], %%xmm0, %%xmm2") /* xmm2 = sign(s) */ \
164-
__ASM_EMIT("vpcmpgtd 0x20 + %[CVAL], %%xmm1, %%xmm3") /* xmm3 = abs(s) > X_MAX */ \
165-
__ASM_EMIT("vpcmpgtd 0x30 + %[CVAL], %%xmm1, %%xmm1") /* xmm1 = abs(s) > X_MIN */ \
162+
__ASM_EMIT("vpand 0x00(%[CVAL]), %%xmm0, %%xmm1") /* xmm1 = abs(s) */ \
163+
__ASM_EMIT("vpand 0x10(%[CVAL]), %%xmm0, %%xmm2") /* xmm2 = sign(s) */ \
164+
__ASM_EMIT("vpcmpgtd 0x20(%[CVAL]), %%xmm1, %%xmm3") /* xmm3 = abs(s) > X_MAX */ \
165+
__ASM_EMIT("vpcmpgtd 0x30(%[CVAL]), %%xmm1, %%xmm1") /* xmm1 = abs(s) > X_MIN */ \
166166
__ASM_EMIT("vpandn %%xmm1, %%xmm3, %%xmm1") /* xmm1 = (abs(s) > X_MIN) & (abs(s) <= X_MAX) */ \
167167
__ASM_EMIT("vblendvps %%xmm1, %%xmm0, %%xmm2, %%xmm0") /* xmm0 = ((abs(s) > X_MIN) & (abs(s) <= X_MAX))) ? s : sign(s) */ \
168168
__ASM_EMIT("vmovdqu %%xmm0, 0x00(%[" DST "], %[off])") /* xmm0 = s */ \
@@ -174,10 +174,10 @@ namespace lsp
174174
__ASM_EMIT("jl 6f") \
175175
__ASM_EMIT("5:") \
176176
__ASM_EMIT("vmovd 0x00(%[" SRC "], %[off]), %%xmm0") /* xmm0 = s */ \
177-
__ASM_EMIT("vpand 0x00 + %[CVAL], %%xmm0, %%xmm1") /* xmm1 = abs(s) */ \
178-
__ASM_EMIT("vpand 0x10 + %[CVAL], %%xmm0, %%xmm2") /* xmm2 = sign(s) */ \
179-
__ASM_EMIT("vpcmpgtd 0x20 + %[CVAL], %%xmm1, %%xmm3") /* xmm3 = abs(s) > X_MAX */ \
180-
__ASM_EMIT("vpcmpgtd 0x30 + %[CVAL], %%xmm1, %%xmm1") /* xmm1 = abs(s) > X_MIN */ \
177+
__ASM_EMIT("vpand 0x00(%[CVAL]), %%xmm0, %%xmm1") /* xmm1 = abs(s) */ \
178+
__ASM_EMIT("vpand 0x10(%[CVAL]), %%xmm0, %%xmm2") /* xmm2 = sign(s) */ \
179+
__ASM_EMIT("vpcmpgtd 0x20(%[CVAL]), %%xmm1, %%xmm3") /* xmm3 = abs(s) > X_MAX */ \
180+
__ASM_EMIT("vpcmpgtd 0x30(%[CVAL]), %%xmm1, %%xmm1") /* xmm1 = abs(s) > X_MIN */ \
181181
__ASM_EMIT("vpandn %%xmm1, %%xmm3, %%xmm1") /* xmm1 = (abs(s) > X_MIN) & (abs(s) <= X_MAX) */ \
182182
__ASM_EMIT("vblendvps %%xmm1, %%xmm0, %%xmm2, %%xmm0") /* xmm0 = ((abs(s) > X_MIN) & (abs(s) <= X_MAX))) ? s : sign(s) */ \
183183
__ASM_EMIT("vmovd %%xmm0, 0x00(%[" DST "], %[off])") /* xmm0 = s */ \
@@ -208,7 +208,7 @@ namespace lsp
208208
SANITIZE_BODY("dst", "dst")
209209
: [off] "=&r" (off), [count] "+r" (count)
210210
: [dst] "r" (dst),
211-
[CVAL] "o" (SANITIZE_CVAL)
211+
[CVAL] "r" (SANITIZE_CVAL)
212212
: "cc", "memory",
213213
"%xmm0", "%xmm1", "%xmm2", "%xmm3",
214214
"%xmm4", "%xmm5", "%xmm6", "%xmm7"
@@ -224,7 +224,7 @@ namespace lsp
224224
SANITIZE_BODY("dst", "src")
225225
: [off] "=&r" (off), [count] "+r" (count)
226226
: [dst] "r" (dst), [src] "r" (src),
227-
[CVAL] "o" (SANITIZE_CVAL)
227+
[CVAL] "r" (SANITIZE_CVAL)
228228
: "cc", "memory",
229229
"%xmm0", "%xmm1", "%xmm2", "%xmm3",
230230
"%xmm4", "%xmm5", "%xmm6", "%xmm7"

include/private/dsp/arch/x86/avx/hmath/hdotp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ namespace lsp
332332
: [count] "+r" (count), [off] "=&r" (off),
333333
[res] "=Yz" (result)
334334
: [a] "r" (a), [b] "r" (b),
335-
[CC] "o" (h_abs_dotp_const)
335+
[CC] "m" (h_abs_dotp_const)
336336
: "cc", "memory",
337337
"%xmm1", "%xmm2", "%xmm3",
338338
"%xmm4", "%xmm5", "%xmm6", "%xmm7"

include/private/dsp/arch/x86/avx/hmath/hsum.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ namespace lsp
390390
__ASM_EMIT("10:")
391391
: [src] "+r" (src), [count] "+r" (count),
392392
[res] "=Yz" (result)
393-
: [CC] "o" (h_abs_const)
393+
: [CC] "m" (h_abs_const)
394394
: "cc", "memory",
395395
"%xmm1"
396396
);

0 commit comments

Comments
 (0)