xref: /aosp_15_r20/external/libvpx/build/make/ads2armasm_ms.pl (revision fb1b10ab9aebc7c7068eedab379b749d7e3900be)
1*fb1b10abSAndroid Build Coastguard Worker#!/usr/bin/env perl
2*fb1b10abSAndroid Build Coastguard Worker##
3*fb1b10abSAndroid Build Coastguard Worker##  Copyright (c) 2013 The WebM project authors. All Rights Reserved.
4*fb1b10abSAndroid Build Coastguard Worker##
5*fb1b10abSAndroid Build Coastguard Worker##  Use of this source code is governed by a BSD-style license
6*fb1b10abSAndroid Build Coastguard Worker##  that can be found in the LICENSE file in the root of the source
7*fb1b10abSAndroid Build Coastguard Worker##  tree. An additional intellectual property rights grant can be found
8*fb1b10abSAndroid Build Coastguard Worker##  in the file PATENTS.  All contributing project authors may
9*fb1b10abSAndroid Build Coastguard Worker##  be found in the AUTHORS file in the root of the source tree.
10*fb1b10abSAndroid Build Coastguard Worker##
11*fb1b10abSAndroid Build Coastguard Worker
12*fb1b10abSAndroid Build Coastguard Workeruse FindBin;
13*fb1b10abSAndroid Build Coastguard Workeruse lib $FindBin::Bin;
14*fb1b10abSAndroid Build Coastguard Workeruse thumb;
15*fb1b10abSAndroid Build Coastguard Worker
16*fb1b10abSAndroid Build Coastguard Workerprint "; This file was created from a .asm file\n";
17*fb1b10abSAndroid Build Coastguard Workerprint ";  using the ads2armasm_ms.pl script.\n";
18*fb1b10abSAndroid Build Coastguard Worker
19*fb1b10abSAndroid Build Coastguard Workerwhile (<STDIN>)
20*fb1b10abSAndroid Build Coastguard Worker{
21*fb1b10abSAndroid Build Coastguard Worker    undef $comment;
22*fb1b10abSAndroid Build Coastguard Worker    undef $line;
23*fb1b10abSAndroid Build Coastguard Worker
24*fb1b10abSAndroid Build Coastguard Worker    s/REQUIRE8//;
25*fb1b10abSAndroid Build Coastguard Worker    s/PRESERVE8//;
26*fb1b10abSAndroid Build Coastguard Worker    s/^\s*ARM\s*$//;
27*fb1b10abSAndroid Build Coastguard Worker    s/AREA\s+\|\|(.*)\|\|/AREA |$1|/;
28*fb1b10abSAndroid Build Coastguard Worker    s/qsubaddx/qsax/i;
29*fb1b10abSAndroid Build Coastguard Worker    s/qaddsubx/qasx/i;
30*fb1b10abSAndroid Build Coastguard Worker
31*fb1b10abSAndroid Build Coastguard Worker    thumb::FixThumbInstructions($_);
32*fb1b10abSAndroid Build Coastguard Worker
33*fb1b10abSAndroid Build Coastguard Worker    s/ldrneb/ldrbne/i;
34*fb1b10abSAndroid Build Coastguard Worker    s/ldrneh/ldrhne/i;
35*fb1b10abSAndroid Build Coastguard Worker    s/^(\s*)ENDP.*/$&\n$1ALIGN 4/;
36*fb1b10abSAndroid Build Coastguard Worker
37*fb1b10abSAndroid Build Coastguard Worker    print;
38*fb1b10abSAndroid Build Coastguard Worker}
39*fb1b10abSAndroid Build Coastguard Worker
40