Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Stefan Strogin
flac
Commits
421961f0
Commit
421961f0
authored
Sep 19, 2018
by
lvqcl
Committed by
Erik de Castro Lopo
Sep 20, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace hadd with shuffle + add
parent
faafa4c8
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
14 additions
and
14 deletions
+14
-14
src/libFLAC/lpc_intrin_sse41.c
src/libFLAC/lpc_intrin_sse41.c
+8
-8
src/libFLAC/stream_encoder_intrin_avx2.c
src/libFLAC/stream_encoder_intrin_avx2.c
+2
-2
src/libFLAC/stream_encoder_intrin_sse2.c
src/libFLAC/stream_encoder_intrin_sse2.c
+2
-2
src/libFLAC/stream_encoder_intrin_ssse3.c
src/libFLAC/stream_encoder_intrin_ssse3.c
+2
-2
No files found.
src/libFLAC/lpc_intrin_sse41.c
View file @
421961f0
...
...
@@ -980,8 +980,8 @@ void FLAC__lpc_restore_signal_intrin_sse41(const FLAC__int32 residual[], uint32_
summ
=
_mm_add_epi32
(
summ
,
_mm_mullo_epi32
(
dat
[
1
],
qlp
[
1
]));
summ
=
_mm_add_epi32
(
summ
,
_mm_mullo_epi32
(
dat
[
0
],
qlp
[
0
]));
summ
=
_mm_
h
add_epi32
(
summ
,
summ
);
summ
=
_mm_
h
add_epi32
(
summ
,
summ
);
summ
=
_mm_add_epi32
(
summ
,
_mm_shuffle_epi32
(
summ
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
summ
=
_mm_add_epi32
(
summ
,
_mm_shufflelo_epi16
(
summ
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
summ
=
_mm_sra_epi32
(
summ
,
cnt
);
temp
=
_mm_add_epi32
(
_mm_cvtsi32_si128
(
residual
[
i
]),
summ
);
...
...
@@ -1009,8 +1009,8 @@ void FLAC__lpc_restore_signal_intrin_sse41(const FLAC__int32 residual[], uint32_
for
(
i
=
0
;;)
{
summ
=
_mm_add_epi32
(
_mm_mullo_epi32
(
dat
[
1
],
qlp
[
1
]),
_mm_mullo_epi32
(
dat
[
0
],
qlp
[
0
]));
summ
=
_mm_
h
add_epi32
(
summ
,
summ
);
summ
=
_mm_
h
add_epi32
(
summ
,
summ
);
summ
=
_mm_add_epi32
(
summ
,
_mm_shuffle_epi32
(
summ
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
summ
=
_mm_add_epi32
(
summ
,
_mm_shufflelo_epi16
(
summ
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
summ
=
_mm_sra_epi32
(
summ
,
cnt
);
temp
=
_mm_add_epi32
(
_mm_cvtsi32_si128
(
residual
[
i
]),
summ
);
...
...
@@ -1079,8 +1079,8 @@ void FLAC__lpc_restore_signal_16_intrin_sse41(const FLAC__int32 residual[], uint
summ
=
_mm_madd_epi16
(
dat
[
1
],
qlp
[
1
]);
summ
=
_mm_add_epi32
(
summ
,
_mm_madd_epi16
(
dat
[
0
],
qlp
[
0
]));
summ
=
_mm_
h
add_epi32
(
summ
,
summ
);
summ
=
_mm_
h
add_epi32
(
summ
,
summ
);
summ
=
_mm_add_epi32
(
summ
,
_mm_shuffle_epi32
(
summ
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
summ
=
_mm_add_epi32
(
summ
,
_mm_shufflelo_epi16
(
summ
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
summ
=
_mm_sra_epi32
(
summ
,
cnt
);
temp
=
_mm_add_epi32
(
_mm_cvtsi32_si128
(
residual
[
i
]),
summ
);
...
...
@@ -1109,8 +1109,8 @@ void FLAC__lpc_restore_signal_16_intrin_sse41(const FLAC__int32 residual[], uint
for
(
i
=
0
;;)
{
summ
=
_mm_madd_epi16
(
dat0
,
qlp0
);
summ
=
_mm_
h
add_epi32
(
summ
,
summ
);
summ
=
_mm_
h
add_epi32
(
summ
,
summ
);
summ
=
_mm_add_epi32
(
summ
,
_mm_shuffle_epi32
(
summ
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
summ
=
_mm_add_epi32
(
summ
,
_mm_shufflelo_epi16
(
summ
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
summ
=
_mm_sra_epi32
(
summ
,
cnt
);
temp
=
_mm_add_epi32
(
_mm_cvtsi32_si128
(
residual
[
i
]),
summ
);
...
...
src/libFLAC/stream_encoder_intrin_avx2.c
View file @
421961f0
...
...
@@ -83,8 +83,8 @@ void FLAC__precompute_partition_info_sums_intrin_avx2(const FLAC__int32 residual
sum128
=
_mm_add_epi32
(
sum128
,
res128
);
}
sum128
=
_mm_
h
add_epi32
(
sum128
,
sum128
);
sum128
=
_mm_
h
add_epi32
(
sum128
,
sum128
);
sum128
=
_mm_add_epi32
(
sum128
,
_mm_shuffle_epi32
(
sum128
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
sum128
=
_mm_add_epi32
(
sum128
,
_mm_shufflelo_epi16
(
sum128
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
abs_residual_partition_sums
[
partition
]
=
(
FLAC__uint32
)
_mm_cvtsi128_si32
(
sum128
);
/* workaround for MSVC bugs (at least versions 2015 and 2017 are affected) */
#if (defined _MSC_VER) && (defined FLAC__CPU_X86_64)
...
...
src/libFLAC/stream_encoder_intrin_sse2.c
View file @
421961f0
...
...
@@ -97,8 +97,8 @@ void FLAC__precompute_partition_info_sums_intrin_sse2(const FLAC__int32 residual
mm_sum
=
_mm_add_epi32
(
mm_sum
,
mm_res
);
}
mm_sum
=
_mm_add_epi32
(
mm_sum
,
_mm_s
rli_si128
(
mm_sum
,
8
));
mm_sum
=
_mm_add_epi32
(
mm_sum
,
_mm_s
rli_si128
(
mm_sum
,
4
));
mm_sum
=
_mm_add_epi32
(
mm_sum
,
_mm_s
huffle_epi32
(
mm_sum
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
)
));
mm_sum
=
_mm_add_epi32
(
mm_sum
,
_mm_s
hufflelo_epi16
(
mm_sum
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
)
));
abs_residual_partition_sums
[
partition
]
=
(
FLAC__uint32
)
_mm_cvtsi128_si32
(
mm_sum
);
/* workaround for MSVC bugs (at least versions 2015 and 2017 are affected) */
#if (defined _MSC_VER) && (defined FLAC__CPU_X86_64)
...
...
src/libFLAC/stream_encoder_intrin_ssse3.c
View file @
421961f0
...
...
@@ -86,8 +86,8 @@ void FLAC__precompute_partition_info_sums_intrin_ssse3(const FLAC__int32 residua
mm_sum
=
_mm_add_epi32
(
mm_sum
,
mm_res
);
}
mm_sum
=
_mm_
h
add_epi32
(
mm_sum
,
mm_s
um
);
mm_sum
=
_mm_
h
add_epi32
(
mm_sum
,
mm_s
um
);
mm_sum
=
_mm_add_epi32
(
mm_sum
,
_
mm_s
huffle_epi32
(
mm_sum
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
mm_sum
=
_mm_add_epi32
(
mm_sum
,
_
mm_s
hufflelo_epi16
(
mm_sum
,
_MM_SHUFFLE
(
1
,
0
,
3
,
2
))
);
abs_residual_partition_sums
[
partition
]
=
(
FLAC__uint32
)
_mm_cvtsi128_si32
(
mm_sum
);
/* workaround for MSVC bugs (at least versions 2015 and 2017 are affected) */
#if (defined _MSC_VER) && (defined FLAC__CPU_X86_64)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment