Make JetStream 2
[WebKit-https.git] / PerformanceTests / JetStream2 / RexBench / OfflineAssembler / registers.js
1 /*
2  * Copyright (C) 2011-2017 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
24  */
25 "use strict";
26
27 const gprs =
28     [
29      "t0",
30      "t1",
31      "t2",
32      "t3",
33      "t4",
34      "t5",
35      "cfr",
36      "a0",
37      "a1",
38      "a2",
39      "a3",
40      "r0",
41      "r1",
42      "sp",
43      "lr",
44      "pc",
45      // 64-bit only registers:
46      "csr0",
47      "csr1",
48      "csr2",
49      "csr3",
50      "csr4",
51      "csr5",
52      "csr6",
53      "csr7",
54      "csr8",
55      "csr9"
56     ]
57
58 const fprs =
59     [
60      "ft0",
61      "ft1",
62      "ft2",
63      "ft3",
64      "ft4",
65      "ft5",
66      "fa0",
67      "fa1",
68      "fa2",
69      "fa3",
70      "csfr0",
71      "csfr1",
72      "csfr2",
73      "csfr3",
74      "csfr4",
75      "csfr5",
76      "csfr6",
77      "csfr7",
78      "fr"
79     ]
80
81 const registers = gprs.concat(fprs);
82
83 var gprPattern = new RegExp("^((" + gprs.join(")|(") + "))$");
84 var fprPattern = new RegExp("^((" + fprs.join(")|(") + "))$");
85
86 var registerPattern = new RegExp("^((" + registers.join(")|(") + "))$");