| 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 |