OLD | NEW |
1 #!/usr/bin/env perl | 1 #!/usr/bin/env perl |
2 | 2 |
3 no strict 'refs'; | 3 no strict 'refs'; |
4 use warnings; | 4 use warnings; |
5 use Getopt::Long; | 5 use Getopt::Long; |
6 Getopt::Long::Configure("auto_help"); | 6 Getopt::Long::Configure("auto_help"); |
7 | 7 |
8 my %ALL_FUNCS = (); | 8 my %ALL_FUNCS = (); |
9 my @ALL_ARCHS; | 9 my @ALL_ARCHS; |
10 my @ALL_FORWARD_DECLS; | 10 my @ALL_FORWARD_DECLS; |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 EOF | 265 EOF |
266 common_bottom; | 266 common_bottom; |
267 } | 267 } |
268 | 268 |
269 sub arm() { | 269 sub arm() { |
270 determine_indirection("c", @ALL_ARCHS); | 270 determine_indirection("c", @ALL_ARCHS); |
271 | 271 |
272 # Assign the helper variable for each enabled extension | 272 # Assign the helper variable for each enabled extension |
273 foreach my $opt (@ALL_ARCHS) { | 273 foreach my $opt (@ALL_ARCHS) { |
274 my $opt_uc = uc $opt; | 274 my $opt_uc = uc $opt; |
| 275 # Enable neon assembly based on HAVE_NEON logic instead of adding new |
| 276 # HAVE_NEON_ASM logic |
| 277 if ($opt eq 'neon_asm') { $opt_uc = 'NEON' } |
275 eval "\$have_${opt}=\"flags & HAS_${opt_uc}\""; | 278 eval "\$have_${opt}=\"flags & HAS_${opt_uc}\""; |
276 } | 279 } |
277 | 280 |
278 common_top; | 281 common_top; |
279 print <<EOF; | 282 print <<EOF; |
280 #include "vpx_config.h" | 283 #include "vpx_config.h" |
281 | 284 |
282 #ifdef RTCD_C | 285 #ifdef RTCD_C |
283 #include "vpx_ports/arm.h" | 286 #include "vpx_ports/arm.h" |
284 static void setup_rtcd_internal(void) | 287 static void setup_rtcd_internal(void) |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 } | 377 } |
375 close CONFIG_FILE; | 378 close CONFIG_FILE; |
376 mips; | 379 mips; |
377 } elsif ($opts{arch} eq 'armv5te') { | 380 } elsif ($opts{arch} eq 'armv5te') { |
378 @ALL_ARCHS = filter(qw/edsp/); | 381 @ALL_ARCHS = filter(qw/edsp/); |
379 arm; | 382 arm; |
380 } elsif ($opts{arch} eq 'armv6') { | 383 } elsif ($opts{arch} eq 'armv6') { |
381 @ALL_ARCHS = filter(qw/edsp media/); | 384 @ALL_ARCHS = filter(qw/edsp media/); |
382 arm; | 385 arm; |
383 } elsif ($opts{arch} eq 'armv7') { | 386 } elsif ($opts{arch} eq 'armv7') { |
384 @ALL_ARCHS = filter(qw/edsp media neon/); | 387 @ALL_ARCHS = filter(qw/edsp media neon_asm neon/); |
| 388 arm; |
| 389 } elsif ($opts{arch} eq 'armv8') { |
| 390 @ALL_ARCHS = filter(qw/neon/); |
385 arm; | 391 arm; |
386 } else { | 392 } else { |
387 unoptimized; | 393 unoptimized; |
388 } | 394 } |
389 | 395 |
390 __END__ | 396 __END__ |
391 | 397 |
392 =head1 NAME | 398 =head1 NAME |
393 | 399 |
394 rtcd - | 400 rtcd - |
(...skipping 10 matching lines...) Expand all Loading... |
405 C header file on stdout. | 411 C header file on stdout. |
406 | 412 |
407 =head1 OPTIONS | 413 =head1 OPTIONS |
408 | 414 |
409 Options: | 415 Options: |
410 --arch=ARCH Architecture to generate defs for (required) | 416 --arch=ARCH Architecture to generate defs for (required) |
411 --disable-EXT Disable support for EXT extensions | 417 --disable-EXT Disable support for EXT extensions |
412 --require-EXT Require support for EXT extensions | 418 --require-EXT Require support for EXT extensions |
413 --sym=SYMBOL Unique symbol to use for RTCD initialization function | 419 --sym=SYMBOL Unique symbol to use for RTCD initialization function |
414 --config=FILE File with CONFIG_FOO=yes lines to parse | 420 --config=FILE File with CONFIG_FOO=yes lines to parse |
OLD | NEW |