Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
8675bcb0
Commit
8675bcb0
authored
Apr 05, 2014
by
Janne Grunau
Committed by
Janne Grunau
Apr 06, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
aarch64: add armv8 CPU flag
parent
a027d2a8
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
12 additions
and
3 deletions
+12
-3
Makefile
Makefile
+1
-1
arch.mak
arch.mak
+1
-0
configure
configure
+3
-0
cpu.c
libavutil/aarch64/cpu.c
+3
-2
cpu.h
libavutil/aarch64/cpu.h
+1
-0
cpu.c
libavutil/cpu.c
+2
-0
cpu.h
libavutil/cpu.h
+1
-0
No files found.
Makefile
View file @
8675bcb0
...
@@ -114,7 +114,7 @@ config.h: .config
...
@@ -114,7 +114,7 @@ config.h: .config
SUBDIR_VARS
:=
CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS
\
SUBDIR_VARS
:=
CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS
\
HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS
\
HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS
\
ARMV5TE-OBJS ARMV6-OBJS
VFP-OBJS NEON-OBJS
\
ARMV5TE-OBJS ARMV6-OBJS
ARMV8-OBJS VFP-OBJS NEON-OBJS
\
ALTIVEC-OBJS MMX-OBJS YASM-OBJS
\
ALTIVEC-OBJS MMX-OBJS YASM-OBJS
\
OBJS HOSTOBJS TESTOBJS
OBJS HOSTOBJS TESTOBJS
...
...
arch.mak
View file @
8675bcb0
OBJS-$(HAVE_ARMV5TE) += $(ARMV5TE-OBJS) $(ARMV5TE-OBJS-yes)
OBJS-$(HAVE_ARMV5TE) += $(ARMV5TE-OBJS) $(ARMV5TE-OBJS-yes)
OBJS-$(HAVE_ARMV6) += $(ARMV6-OBJS) $(ARMV6-OBJS-yes)
OBJS-$(HAVE_ARMV6) += $(ARMV6-OBJS) $(ARMV6-OBJS-yes)
OBJS-$(HAVE_ARMV8) += $(ARMV8-OBJS) $(ARMV8-OBJS-yes)
OBJS-$(HAVE_VFP) += $(VFP-OBJS) $(VFP-OBJS-yes)
OBJS-$(HAVE_VFP) += $(VFP-OBJS) $(VFP-OBJS-yes)
OBJS-$(HAVE_NEON) += $(NEON-OBJS) $(NEON-OBJS-yes)
OBJS-$(HAVE_NEON) += $(NEON-OBJS) $(NEON-OBJS-yes)
...
...
configure
View file @
8675bcb0
...
@@ -1271,6 +1271,7 @@ ARCH_EXT_LIST_ARM="
...
@@ -1271,6 +1271,7 @@ ARCH_EXT_LIST_ARM="
armv5te
armv5te
armv6
armv6
armv6t2
armv6t2
armv8
neon
neon
vfp
vfp
vfpv3
vfpv3
...
@@ -1615,6 +1616,7 @@ CMDLINE_APPEND="
...
@@ -1615,6 +1616,7 @@ CMDLINE_APPEND="
armv5te_deps
=
"arm"
armv5te_deps
=
"arm"
armv6_deps
=
"arm"
armv6_deps
=
"arm"
armv6t2_deps
=
"arm"
armv6t2_deps
=
"arm"
armv8_deps
=
"aarch64"
neon_deps_any
=
"aarch64 arm"
neon_deps_any
=
"aarch64 arm"
vfp_deps_any
=
"aarch64 arm"
vfp_deps_any
=
"aarch64 arm"
vfpv3_deps
=
"vfp"
vfpv3_deps
=
"vfp"
...
@@ -3697,6 +3699,7 @@ od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
...
@@ -3697,6 +3699,7 @@ od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
check_inline_asm inline_asm_labels
'"1:\n"'
check_inline_asm inline_asm_labels
'"1:\n"'
if
enabled aarch64
;
then
if
enabled aarch64
;
then
enabled armv8
&&
check_insn armv8
'prfm pldl1strm, [x0]'
# internal assembler in clang 3.3 does not support this instruction
# internal assembler in clang 3.3 does not support this instruction
enabled neon
&&
check_insn neon
'ext v0.8B, v0.8B, v1.8B, #1'
enabled neon
&&
check_insn neon
'ext v0.8B, v0.8B, v1.8B, #1'
enabled vfp
&&
check_insn vfp
'fmadd d0, d0, d1, d2'
enabled vfp
&&
check_insn vfp
'fmadd d0, d0, d1, d2'
...
...
libavutil/aarch64/cpu.c
View file @
8675bcb0
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
int
ff_get_cpu_flags_aarch64
(
void
)
int
ff_get_cpu_flags_aarch64
(
void
)
{
{
return
AV_CPU_FLAG_NEON
*
HAVE_NEON
|
return
AV_CPU_FLAG_ARMV8
*
HAVE_ARMV8
|
AV_CPU_FLAG_VFP
*
HAVE_VFP
;
AV_CPU_FLAG_NEON
*
HAVE_NEON
|
AV_CPU_FLAG_VFP
*
HAVE_VFP
;
}
}
libavutil/aarch64/cpu.h
View file @
8675bcb0
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
#include "libavutil/cpu.h"
#include "libavutil/cpu.h"
#include "libavutil/cpu_internal.h"
#include "libavutil/cpu_internal.h"
#define have_armv8(flags) CPUEXT(flags, ARMV8)
#define have_neon(flags) CPUEXT(flags, NEON)
#define have_neon(flags) CPUEXT(flags, NEON)
#define have_vfp(flags) CPUEXT(flags, VFP)
#define have_vfp(flags) CPUEXT(flags, VFP)
...
...
libavutil/cpu.c
View file @
8675bcb0
...
@@ -126,6 +126,7 @@ int av_parse_cpu_flags(const char *s)
...
@@ -126,6 +126,7 @@ int av_parse_cpu_flags(const char *s)
{
"vfpv3"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
AV_CPU_FLAG_VFPV3
},
.
unit
=
"flags"
},
{
"vfpv3"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
AV_CPU_FLAG_VFPV3
},
.
unit
=
"flags"
},
{
"neon"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
AV_CPU_FLAG_NEON
},
.
unit
=
"flags"
},
{
"neon"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
AV_CPU_FLAG_NEON
},
.
unit
=
"flags"
},
#elif ARCH_AARCH64
#elif ARCH_AARCH64
{
"armv8"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
AV_CPU_FLAG_ARMV8
},
.
unit
=
"flags"
},
{
"neon"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
AV_CPU_FLAG_NEON
},
.
unit
=
"flags"
},
{
"neon"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
AV_CPU_FLAG_NEON
},
.
unit
=
"flags"
},
{
"vfp"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
AV_CPU_FLAG_VFP
},
.
unit
=
"flags"
},
{
"vfp"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
AV_CPU_FLAG_VFP
},
.
unit
=
"flags"
},
#endif
#endif
...
@@ -185,6 +186,7 @@ static const struct {
...
@@ -185,6 +186,7 @@ static const struct {
const
char
*
name
;
const
char
*
name
;
}
cpu_flag_tab
[]
=
{
}
cpu_flag_tab
[]
=
{
#if ARCH_AARCH64
#if ARCH_AARCH64
{
AV_CPU_FLAG_ARMV8
,
"armv8"
},
{
AV_CPU_FLAG_NEON
,
"neon"
},
{
AV_CPU_FLAG_NEON
,
"neon"
},
{
AV_CPU_FLAG_VFP
,
"vfp"
},
{
AV_CPU_FLAG_VFP
,
"vfp"
},
#elif ARCH_ARM
#elif ARCH_ARM
...
...
libavutil/cpu.h
View file @
8675bcb0
...
@@ -61,6 +61,7 @@
...
@@ -61,6 +61,7 @@
#define AV_CPU_FLAG_VFP (1 << 3)
#define AV_CPU_FLAG_VFP (1 << 3)
#define AV_CPU_FLAG_VFPV3 (1 << 4)
#define AV_CPU_FLAG_VFPV3 (1 << 4)
#define AV_CPU_FLAG_NEON (1 << 5)
#define AV_CPU_FLAG_NEON (1 << 5)
#define AV_CPU_FLAG_ARMV8 (1 << 6)
/**
/**
* Return the flags which specify extensions supported by the CPU.
* Return the flags which specify extensions supported by the CPU.
...
...
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