Mercurial > hg > graal-compiler
annotate graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java @ 9817:26960d32552c
SPARC integer arithmetic
author | Morris Meyer <morris.meyer@oracle.com> |
---|---|
date | Sat, 25 May 2013 16:24:05 -0400 |
parents | 4e9854086532 |
children | 81d5d8089cda |
rev | line source |
---|---|
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
1 /* |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
2 * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
4 * |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
5 * This code is free software; you can redistribute it and/or modify it |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
6 * under the terms of the GNU General Public License version 2 only, as |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
7 * published by the Free Software Foundation. |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
8 * |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
12 * version 2 for more details (a copy is included in the LICENSE file that |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
13 * accompanied this code). |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
14 * |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License version |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
16 * 2 along with this work; if not, write to the Free Software Foundation, |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
18 * |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
21 * questions. |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
22 */ |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
23 package com.oracle.graal.asm.sparc; |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
24 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
25 import com.oracle.graal.api.code.Register; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
26 import com.oracle.graal.api.code.RegisterConfig; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
27 import com.oracle.graal.api.code.TargetDescription; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
28 import com.oracle.graal.api.meta.Kind; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
29 import com.oracle.graal.hotspot.HotSpotGraalRuntime; |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
30 |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
31 /** |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
32 * This class implements an assembler that can encode most SPARC instructions. |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
33 */ |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
34 public class SPARCAssembler extends AbstractSPARCAssembler { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
35 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
36 // @formatter:off |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
37 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
38 public static class Fmt1 { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
39 public Fmt1(SPARCAssembler masm, int op, int disp30) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
40 assert op == 1; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
41 assert ((disp30 & 0xc0000000) == 0); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
42 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
43 masm.emitInt(op << 30 | disp30); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
44 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
45 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
46 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
47 public static class Fmt2a { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
48 public Fmt2a(SPARCAssembler masm, int op, int rd, int op2, int imm22) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
49 assert op == 0; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
50 assert rd < 0x40; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
51 assert op2 < 0x8; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
52 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
53 masm.emitInt(op << 30 | rd << 25 | op2 << 22 | (imm22 & 0x003fffff)); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
54 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
55 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
56 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
57 public static class Fmt2b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
58 public Fmt2b(SPARCAssembler masm, int op, int a, int cond, int op2, int disp22) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
59 assert op == 0; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
60 assert op == 0; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
61 assert cond < 0x10; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
62 assert op2 < 0x8; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
63 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
64 masm.emitInt(op << 30 | a << 29 | cond << 25 | op2 << 22 | (disp22 & 0x003fffff)); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
65 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
66 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
67 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
68 public static class Fmt2c { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
69 public Fmt2c(SPARCAssembler masm, int op, int a, int cond, int op2, int cc, int predict, int disp19) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
70 assert predict < 2; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
71 assert op == 0; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
72 assert cond < 0x10; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
73 assert op2 < 0x8; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
74 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
75 masm.emitInt(op << 30 | a << 29 | cond << 25 | op2 << 22 | cc << 20 | predict | (disp19 & 0x0007ffff)); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
76 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
77 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
78 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
79 public static class Fmt2d { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
80 public Fmt2d(SPARCAssembler masm, int op, int a, int rcond, int op2, int d16hi, int predict, int rs1, int d16lo) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
81 assert predict == 0 || predict == 1; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
82 assert rcond >= 0 && rcond < 0x8; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
83 assert op == 0; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
84 assert op2 >= 0 && op2 < 0x8; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
85 assert rs1 >= 0 && rs1 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
86 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
87 masm.emitInt(op << 30 | a << 29 | rcond << 25 | op2 << 22 | d16hi & 3 | predict << 18 | rs1 << 14 | (d16lo & 0x003fff)); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
88 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
89 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
90 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
91 public static class Fmt3a { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
92 public Fmt3a(SPARCAssembler masm, int op, int rd, int op3, int rs1, int rs2) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
93 assert op == 2 || op == 3; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
94 assert op3 >= 0 && op3 < 0x40; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
95 assert rs1 >= 0 && rs1 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
96 assert rs2 >= 0 && rs2 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
97 assert rd >= 0 && rd < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
98 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
99 masm.emitInt(op << 30 | rd << 25 | op3 << 19 | rs1 << 14 | rs2); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
100 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
101 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
102 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
103 public static class Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
104 public Fmt3b(SPARCAssembler masm, int op, int op3, int rs1, int regOrImmediate, int rd) { |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
105 assert op == 2 || op == 3; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
106 assert op3 >= 0 && op3 < 0x40; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
107 assert rs1 >= 0 && rs1 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
108 assert rd >= 0 && rd < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
109 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
110 masm.emitInt(op << 30 | rd << 25 | op3 << 19 | rs1 << 14 | (regOrImmediate & 0x1fff)); |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
111 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
112 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
113 |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
114 public static class Fmt3c { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
115 public Fmt3c(SPARCAssembler masm, int op, int op3, int rs1, int rs2) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
116 assert op == 2; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
117 assert op3 >= 0 && op3 < 0x40; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
118 assert rs1 >= 0 && rs1 < 0x20; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
119 assert rs2 >= 0 && rs2 < 0x20; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
120 |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
121 masm.emitInt(op << 30 | op3 << 19 | rs1 << 14 | rs2); |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
122 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
123 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
124 |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
125 public static class Fmt3d { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
126 public Fmt3d(SPARCAssembler masm, int op, int op3, int rs1, int simm13) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
127 assert op == 2; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
128 assert op3 >= 0 && op3 < 0x40; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
129 assert rs1 >= 0 && rs1 < 0x20; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
130 |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
131 masm.emitInt(op << 30 | op3 << 19 | rs1 << 14 | ImmedTrue | simm13); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
132 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
133 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
134 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
135 public static class Fmt3e { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
136 public Fmt3e(SPARCAssembler masm, int op, int op3, int rcond, int rs1, int rs2, int rd) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
137 assert op == 2 || op == 3; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
138 assert op3 >= 0 && op3 < 0x40; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
139 assert rcond >= 0 && rcond < 0x8; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
140 assert rs1 >= 0 && rs1 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
141 assert rs2 >= 0 && rs2 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
142 assert rd >= 0 && rd < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
143 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
144 masm.emitInt(op << 30 | rd << 25 | op3 << 19 | rs1 << 14 | rcond << 10 | rs2); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
145 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
146 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
147 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
148 public static class Fmt3f { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
149 public Fmt3f(SPARCAssembler masm, int op, int op3, int rcond, int rs1, int simm10, int rd) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
150 assert op == 2 || op == 3; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
151 assert op3 >= 0 && op3 < 0x40; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
152 assert rs1 >= 0 && rs1 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
153 assert rd >= 0 && rd < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
154 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
155 masm.emitInt(op << 30 | rd << 25 | op3 << 19 | ImmedTrue | rs1 << 14 | rcond << 10 | (simm10 & 0x000003ff)); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
156 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
157 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
158 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
159 public static class Fmt3p { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
160 public Fmt3p(SPARCAssembler masm, int op, int op3, int opf, int rs1, int rs2, int rd) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
161 assert op == 2 || op == 3; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
162 assert op3 >= 0 && op3 < 0x40; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
163 assert opf >= 0 && opf < 0x200; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
164 assert rs1 >= 0 && rs1 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
165 assert rs2 >= 0 && rs2 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
166 assert rd >= 0 && rd < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
167 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
168 masm.emitInt(op << 30 | rd << 25 | op3 << 19 | rs1 << 14 | opf << 5 | rs2); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
169 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
170 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
171 |
9817
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
172 public static class Fmt3n { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
173 public Fmt3n(SPARCAssembler masm, int op, int op3, int opf, int rs2, int rd) { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
174 assert op == 2 || op == 3; |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
175 assert op3 >= 0 && op3 < 0x40; |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
176 assert opf >= 0 && opf < 0x200; |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
177 assert rs2 >= 0 && rs2 < 0x20; |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
178 assert rd >= 0 && rd < 0x20; |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
179 |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
180 masm.emitInt(op << 30 | rd << 25 | op3 << 19 | opf << 5 | rs2); |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
181 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
182 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
183 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
184 public static class Fmt3q { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
185 public Fmt3q(SPARCAssembler masm, int op, int op3, int rs1, int rd) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
186 assert op == 2 || op == 3; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
187 assert op3 >= 0 && op3 < 0x40; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
188 assert rs1 >= 0 && rs1 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
189 assert rd >= 0 && rd < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
190 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
191 masm.emitInt(op << 30 | rd << 25 | op3 << 19 | rs1 << 14); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
192 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
193 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
194 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
195 public static class Fmt4c { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
196 public Fmt4c(SPARCAssembler masm, int op, int op3, int cond, int cc, int rs2, int rd) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
197 assert op == 2; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
198 assert op3 >= 0 && op3 < 0x40; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
199 assert cc >= 0 && cc < 0x8; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
200 assert cond >= 0 && cond < 0x10; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
201 assert rs2 >= 0 && rs2 < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
202 assert rd >= 0 && rd < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
203 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
204 masm.emitInt(op << 30 | rd << 25 | op3 << 19 | ((cc << 15) & 0x00040000) | cond << 14 | ((cc << 11) & 0x3) | rs2); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
205 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
206 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
207 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
208 public static class Fmt4d { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
209 public Fmt4d(SPARCAssembler masm, int op, int op3, int cond, int cc, int simm11, int rd) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
210 assert op == 2; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
211 assert op3 >= 0 && op3 < 0x40; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
212 assert cc >= 0 && cc < 0x8; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
213 assert cond >= 0 && cond < 0x10; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
214 assert rd >= 0 && rd < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
215 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
216 masm.emitInt(op << 30 | rd << 25 | op3 << 19 | ImmedTrue | ((cc << 15) & 0x00040000) | cond << 14 | ((cc << 11) & 0x3) | simm11 & 0x00004000); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
217 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
218 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
219 |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
220 public static final int ImmedTrue = 0x00002000; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
221 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
222 public enum Ops { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
223 CallOp(1), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
224 BranchOp(0), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
225 ArithOp(2), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
226 LdstOp(3); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
227 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
228 private final int value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
229 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
230 private Ops(int value) { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
231 this.value = value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
232 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
233 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
234 public int getValue() { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
235 return value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
236 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
237 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
238 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
239 public enum Op3s { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
240 Add(0x00, "add"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
241 And(0x01, "and"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
242 Or(0x02, "or"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
243 Xor(0x03, "xor"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
244 Sub(0x04, "sub"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
245 Andn(0x05, "andn"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
246 Orn(0x06, "orn"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
247 Xnor(0x07, "xnor"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
248 Addc(0x08, "addc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
249 Mulx(0x09, "mulx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
250 Umul(0x0A, "umul"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
251 Smul(0x0B, "smul"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
252 Subc(0x0C, "subc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
253 Udivx(0x0D, "udivx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
254 Udiv(0x0E, "udiv"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
255 Sdiv(0x0F, "sdiv"), |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
256 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
257 Addcc(0x10, "addcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
258 Andcc(0x11, "andcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
259 Orcc(0x12, "orcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
260 Xorcc(0x13, "xorcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
261 Subcc(0x14, "subcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
262 Andncc(0x15, "andncc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
263 Orncc(0x16, "orncc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
264 Xnorcc(0x17, "xnorcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
265 Addccc(0x18, "addccc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
266 Mulxcc(0x19, "mulxcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
267 Umulcc(0x1A, "umulcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
268 Smulcc(0x1B, "smulcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
269 Subccc(0x1C0, "subccc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
270 Udivcc(0x1E, "udivcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
271 Sdivcc(0x1F, "sdivcc"), |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
272 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
273 Taddcc(0x20, "taddcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
274 Tsubcc(0x21, "tsubcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
275 Taddcctv(0x22, "taddcctv"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
276 Tsubcctv(0x23, "tsubcctv"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
277 Mulscc(0x24, "mulscc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
278 Sll(0x25, "sll"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
279 Sllx(0x25, "sllx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
280 Srl(0x26, "srl"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
281 Srlx(0x26, "srlx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
282 Sra(0x27, "srax"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
283 Srax(0x27, "srax"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
284 Rdreg(0x28, "rdreg"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
285 Membar(0x28, "membar"), |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
286 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
287 Flushw(0x2B, "flushw"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
288 Movcc(0x2C, "movcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
289 Sdivx(0x2D, "sdivx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
290 Popc(0x2E, "popc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
291 Movr(0x2F, "movr"), |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
292 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
293 Sir(0x30, "sir"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
294 Wrreg(0x30, "wrreg"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
295 Saved(0x31, "saved"), |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
296 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
297 Fpop1(0x34, "fpop1"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
298 Fpop2(0x35, "fpop2"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
299 Impdep1(0x36, "impdep1"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
300 Impdep2(0x37, "impdep2"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
301 Jmpl(0x38, "jmpl"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
302 Rett(0x39, "rett"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
303 Trap(0x3a, "trap"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
304 Flush(0x3b, "flush"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
305 Save(0x3c, "save"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
306 Restore(0x3d, "restore"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
307 Done(0x3e, "done"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
308 Retry(0x3e, "retry"); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
309 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
310 private final int value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
311 private final String operator; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
312 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
313 private Op3s(int value, String op) { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
314 this.value = value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
315 this.operator = op; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
316 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
317 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
318 public int getValue() { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
319 return value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
320 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
321 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
322 public String getOperator() { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
323 return operator; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
324 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
325 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
326 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
327 public enum Opfs { |
9817
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
328 Fadds(0x41, "fadds"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
329 Faddd(0x42, "faddd"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
330 Faddq(0x43, "faddq"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
331 Fsubs(0x45, "fsubs"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
332 Fsubd(0x46, "fsubd"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
333 Fsubq(0x47, "fsubq"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
334 Fstoi(0xD1, "fstoi"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
335 Fdtoi(0xD2, "fdtoi"); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
336 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
337 private final int value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
338 private final String operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
339 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
340 private Opfs(int value, String op) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
341 this.value = value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
342 this.operator = op; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
343 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
344 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
345 public int getValue() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
346 return value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
347 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
348 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
349 public String getOperator() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
350 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
351 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
352 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
353 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
354 public enum MembarMask { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
355 StoreStore(1 << 3, "storestore"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
356 LoadStore(1 << 2, "loadstore"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
357 StoreLoad(1 << 1, "storeload"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
358 LoadLoad(1 << 0, "loadload"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
359 Sync(1 << 6, "sync"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
360 MemIssue(1 << 5, "memissue"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
361 LookAside(1 << 4, "lookaside"); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
362 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
363 private final int value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
364 private final String operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
365 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
366 private MembarMask(int value, String op) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
367 this.value = value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
368 this.operator = op; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
369 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
370 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
371 public int getValue() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
372 return value | 0x2000; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
373 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
374 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
375 public String getOperator() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
376 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
377 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
378 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
379 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
380 public enum CC { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
381 Icc(4, "icc"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
382 Xcc(6, "xcc"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
383 Ptrcc(HotSpotGraalRuntime.wordKind() == Kind.Long ? Xcc.getValue() : Icc.getValue(), "ptrcc"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
384 Fcc0(0, "fcc0"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
385 Fcc1(1, "fcc1"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
386 Fcc2(2, "fcc2"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
387 Fcc3(3, "fcc3"); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
388 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
389 private final int value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
390 private final String operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
391 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
392 private CC(int value, String op) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
393 this.value = value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
394 this.operator = op; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
395 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
396 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
397 public int getValue() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
398 return value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
399 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
400 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
401 public String getOperator() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
402 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
403 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
404 } |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
405 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
406 public enum Condition { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
407 // for FBfcc & FBPfcc instruction |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
408 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
409 F_Never(0, "f_never"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
410 F_NotEqual(1, "f_notEqual"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
411 F_NotZero(1, "f_notZero"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
412 F_LessOrGreater(2, "f_lessOrGreater"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
413 F_UnorderedOrLess(3, "f_unorderedOrLess"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
414 F_Less(4, "f_less"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
415 F_UnorderedOrGreater(5, "f_unorderedOrGreater"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
416 F_Greater(6, "f_greater"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
417 F_Unordered(7, "f_unordered"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
418 F_Always(8, "f_always"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
419 F_Equal(9, "f_equal"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
420 F_Zero(9, "f_zero"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
421 F_UnorderedOrEqual(10, "f_unorderedOrEqual"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
422 F_GreaterOrEqual(11, "f_greaterOrEqual"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
423 F_UnorderedGreaterOrEqual(12, "f_unorderedGreaterOrEqual"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
424 F_LessOrEqual(13, "f_lessOrEqual"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
425 F_UnorderedOrLessOrEqual(14, "f_unorderedOrLessOrEqual"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
426 F_Ordered(15, "f_ordered"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
427 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
428 // for integers |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
429 Never(0, "never"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
430 Equal(1, "equal"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
431 Zero(1, "zero"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
432 LessEqual(2, "lessEqual"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
433 Less(3, "less"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
434 LessEqualUnsigned(4, "lessEqualUnsigned"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
435 LessUnsigned(5, "lessUnsigned"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
436 CarrySet(5, "carrySet"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
437 Negative(6, "negative"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
438 OverflowSet(7, "overflowSet"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
439 Always(8, "always"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
440 NotEqual(9, "notEqual"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
441 NotZero(9, "notZero"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
442 Greater(10, "greater"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
443 GreaterEqual(11, "greaterEqual"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
444 GreaterUnsigned(12, "greaterUnsigned"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
445 GreaterEqualUnsigned(13, "greaterEqualUnsigned"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
446 CarryClear(13, "carryClear"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
447 Positive(14, "positive"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
448 OverflowClear(15, "overflowClear"); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
449 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
450 private final int value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
451 private final String operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
452 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
453 private Condition(int value, String op) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
454 this.value = value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
455 this.operator = op; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
456 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
457 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
458 public int getValue() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
459 return value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
460 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
461 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
462 public String getOperator() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
463 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
464 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
465 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
466 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
467 public enum RCondition { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
468 Rc_z(1, "rc_z"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
469 Rc_lez(2, "rc_lez"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
470 Rc_lz(3, "rc_lz"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
471 Rc_nz(5, "rc_nz"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
472 Rc_gz(6, "rc_gz"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
473 Rc_gez(7, "rc_gez"), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
474 Rc_last(Rc_gez.getValue(), "rc_last"); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
475 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
476 private final int value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
477 private final String operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
478 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
479 private RCondition(int value, String op) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
480 this.value = value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
481 this.operator = op; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
482 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
483 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
484 public int getValue() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
485 return value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
486 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
487 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
488 public String getOperator() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
489 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
490 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
491 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
492 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
493 public static int getFloatEncoding(int reg) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
494 assert reg < 32; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
495 return reg; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
496 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
497 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
498 public static int getDoubleEncoding(int reg) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
499 assert reg < 64 && ((reg & 1) == 0); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
500 // ignore v8 assertion for now |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
501 return (reg & 0x1e) | ((reg & 0x20) >> 5); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
502 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
503 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
504 public static int getQuadEncoding(int reg) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
505 assert reg < 64 && ((reg & 3) == 0); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
506 // ignore v8 assertion for now |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
507 return (reg & 0x1c) | ((reg & 0x20) >> 5); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
508 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
509 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
510 public SPARCAssembler(TargetDescription target, @SuppressWarnings("unused") RegisterConfig registerConfig) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
511 super(target); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
512 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
513 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
514 public static final int sx1 = 0x00001000; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
515 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
516 public static final int simm(int x, int nbits) { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
517 // assert_signed_range(x, nbits); |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
518 return x & ((1 << nbits) - 1); |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
519 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
520 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
521 private static int fcn(int val) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
522 assert val < 0x20; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
523 return (val << 25); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
524 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
525 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
526 public static class Add extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
527 public Add(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
528 super(masm, Ops.ArithOp.getValue(), Op3s.Add.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
529 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
530 public Add(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
531 super(masm, Ops.ArithOp.getValue(), Op3s.Add.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
532 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
533 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
534 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
535 public static class Addc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
536 public Addc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
537 super(masm, Ops.ArithOp.getValue(), Op3s.Addc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
538 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
539 public Addc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
540 super(masm, Ops.ArithOp.getValue(), Op3s.Addc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
541 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
542 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
543 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
544 public static class Addcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
545 public Addcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
546 super(masm, Ops.ArithOp.getValue(), Op3s.Addcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
547 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
548 public Addcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
549 super(masm, Ops.ArithOp.getValue(), Op3s.Addcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
550 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
551 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
552 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
553 public static class Addccc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
554 public Addccc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
555 super(masm, Ops.ArithOp.getValue(), Op3s.Addccc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
556 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
557 public Addccc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
558 super(masm, Ops.ArithOp.getValue(), Op3s.Addccc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
559 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
560 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
561 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
562 public static class And extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
563 public And(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
564 super(masm, Ops.ArithOp.getValue(), Op3s.And.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
565 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
566 public And(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
567 super(masm, Ops.ArithOp.getValue(), Op3s.And.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
568 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
569 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
570 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
571 public static class Andcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
572 public Andcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
573 super(masm, Ops.ArithOp.getValue(), Op3s.Andcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
574 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
575 public Andcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
576 super(masm, Ops.ArithOp.getValue(), Op3s.Andcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
577 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
578 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
579 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
580 public static class Andn extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
581 public Andn(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
582 super(masm, Ops.ArithOp.getValue(), Op3s.Andn.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
583 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
584 public Andn(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
585 super(masm, Ops.ArithOp.getValue(), Op3s.Andn.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
586 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
587 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
588 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
589 public static class Andncc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
590 public Andncc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
591 super(masm, Ops.ArithOp.getValue(), Op3s.Andncc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
592 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
593 public Andncc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
594 super(masm, Ops.ArithOp.getValue(), Op3s.Andncc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
595 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
596 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
597 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
598 public static class Fadds extends Fmt3p { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
599 public Fadds(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
600 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fadds.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
601 src1.encoding(), src2.encoding(), dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
602 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
603 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
604 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
605 public static class Faddd extends Fmt3p { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
606 public Faddd(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
607 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Faddd.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
608 src1.encoding(), src2.encoding(), dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
609 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
610 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
611 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
612 public static class Faddq extends Fmt3p { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
613 public Faddq(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
614 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Faddq.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
615 src1.encoding(), src2.encoding(), dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
616 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
617 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
618 |
9817
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
619 public static class Fstoi extends Fmt3n { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
620 public Fstoi(SPARCAssembler masm, Register src2, Register dst) { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
621 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fstoi.getValue(), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
622 src2.encoding(), dst.encoding()); |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
623 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
624 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
625 |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
626 public static class Fdtoi extends Fmt3n { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
627 public Fdtoi(SPARCAssembler masm, Register src2, Register dst) { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
628 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fdtoi.getValue(), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
629 src2.encoding(), dst.encoding()); |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
630 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
631 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
632 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
633 public final void flushw() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
634 emitInt(Ops.ArithOp.getValue() | Op3s.Flushw.getValue()); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
635 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
636 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
637 public static class Fsubs extends Fmt3p { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
638 public Fsubs(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
639 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fsubs.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
640 src1.encoding(), src2.encoding(), dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
641 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
642 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
643 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
644 public static class Fsubd extends Fmt3p { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
645 public Fsubd(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
646 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fsubd.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
647 src1.encoding(), src2.encoding(), dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
648 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
649 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
650 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
651 public static class Fsubq extends Fmt3p { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
652 public Fsubq(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
653 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fsubq.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
654 src1.encoding(), src2.encoding(), dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
655 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
656 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
657 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
658 public static class Membar extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
659 public Membar(SPARCAssembler masm, MembarMask mask) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
660 super(masm, Ops.ArithOp.getValue(), 0, Op3s.Membar.getValue(), 0xf, mask.getValue()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
661 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
662 } |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
663 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
664 public static class Movcc extends Fmt4c { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
665 public Movcc(SPARCAssembler masm, Condition cond, CC cca, Register src2, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
666 super(masm, Ops.ArithOp.getValue(), Op3s.Movcc.getValue(), cond.getValue(), cca.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
667 src2.encoding(), dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
668 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
669 public Movcc(SPARCAssembler masm, Condition cond, CC cca, int simm11a, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
670 super(masm, Ops.ArithOp.getValue(), Op3s.Movcc.getValue(), cond.getValue(), cca.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
671 simm11a, dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
672 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
673 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
674 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
675 public static class Movr extends Fmt3f { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
676 public Movr(SPARCAssembler masm, RCondition rc, Register src1, Register src2, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
677 super(masm, Ops.ArithOp.getValue(), Op3s.Movr.getValue(), rc.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
678 src1.encoding(), src2.encoding(), dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
679 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
680 public Movr(SPARCAssembler masm, RCondition rc, Register src1, int simm10, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
681 super(masm, Ops.ArithOp.getValue(), Op3s.Movr.getValue(), rc.getValue(), |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
682 src1.encoding(), simm10, dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
683 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
684 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
685 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
686 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
687 public static class Mulscc extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
688 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
689 public Mulscc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
690 super(masm, Ops.ArithOp.getValue(), Op3s.Mulscc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
691 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
692 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
693 public Mulscc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
694 super(masm, Ops.ArithOp.getValue(), Op3s.Mulscc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
695 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
696 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
697 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
698 public static class Mulx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
699 public Mulx(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
700 super(masm, Ops.ArithOp.getValue(), Op3s.Mulx.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
701 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
702 public Mulx(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
703 super(masm, Ops.ArithOp.getValue(), Op3s.Mulx.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
704 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
705 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
706 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
707 public static class Or extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
708 public Or(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
709 super(masm, Ops.ArithOp.getValue(), Op3s.Or.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
710 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
711 public Or(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
712 super(masm, Ops.ArithOp.getValue(), Op3s.Or.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
713 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
714 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
715 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
716 public static class Orcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
717 public Orcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
718 super(masm, Ops.ArithOp.getValue(), Op3s.Orcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
719 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
720 public Orcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
721 super(masm, Ops.ArithOp.getValue(), Op3s.Orcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
722 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
723 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
724 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
725 public static class Orn extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
726 public Orn(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
727 super(masm, Ops.ArithOp.getValue(), Op3s.Orn.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
728 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
729 public Orn(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
730 super(masm, Ops.ArithOp.getValue(), Op3s.Orn.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
731 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
732 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
733 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
734 public static class Orncc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
735 public Orncc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
736 super(masm, Ops.ArithOp.getValue(), Op3s.Orncc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
737 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
738 public Orncc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
739 super(masm, Ops.ArithOp.getValue(), Op3s.Orncc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
740 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
741 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
742 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
743 public static class Popc extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
744 public Popc(SPARCAssembler masm, int simm13, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
745 super(masm, Ops.ArithOp.getValue(), Op3s.Popc.getValue(), 0, simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
746 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
747 public Popc(SPARCAssembler masm, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
748 super(masm, Ops.ArithOp.getValue(), Op3s.Popc.getValue(), 0, src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
749 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
750 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
751 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
752 // A.44 Read State Register |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
753 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
754 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
755 public static class Rdy extends Fmt3q { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
756 public Rdy(SPARCAssembler masm, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
757 super(masm, Ops.ArithOp.getValue(), Op3s.Rdreg.getValue(), 0, dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
758 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
759 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
760 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
761 public static class Rdccr extends Fmt3q { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
762 public Rdccr(SPARCAssembler masm, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
763 super(masm, Ops.ArithOp.getValue(), Op3s.Rdreg.getValue(), 2, dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
764 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
765 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
766 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
767 public static class Rdasi extends Fmt3q { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
768 public Rdasi(SPARCAssembler masm, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
769 super(masm, Ops.ArithOp.getValue(), Op3s.Rdreg.getValue(), 3, dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
770 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
771 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
772 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
773 public static class Rdtick extends Fmt3q { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
774 public Rdtick(SPARCAssembler masm, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
775 super(masm, Ops.ArithOp.getValue(), Op3s.Rdreg.getValue(), 4, dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
776 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
777 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
778 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
779 public static class Rdpc extends Fmt3q { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
780 public Rdpc(SPARCAssembler masm, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
781 super(masm, Ops.ArithOp.getValue(), Op3s.Rdreg.getValue(), 5, dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
782 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
783 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
784 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
785 public static class Rdfprs extends Fmt3q { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
786 public Rdfprs(SPARCAssembler masm, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
787 super(masm, Ops.ArithOp.getValue(), Op3s.Rdreg.getValue(), 6, dst.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
788 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
789 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
790 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
791 public static class Return extends Fmt3d { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
792 public Return(SPARCAssembler masm, Register src1, int simm13) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
793 super(masm, Ops.ArithOp.getValue(), Op3s.Rett.getValue(), src1.encoding(), simm13); |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
794 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
795 public Return(SPARCAssembler masm, Register src1, Register src2) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
796 super(masm, Ops.ArithOp.getValue(), Op3s.Rett.getValue(), src1.encoding(), src2.encoding()); |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
797 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
798 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
799 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
800 public final void restored() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
801 emitInt(Ops.ArithOp.getValue() | Op3s.Saved.getValue() | fcn(1)); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
802 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
803 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
804 public final void saved() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
805 emitInt(Ops.ArithOp.getValue() | Op3s.Saved.getValue() | fcn(0)); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
806 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
807 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
808 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
809 public static class Sdiv extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
810 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
811 public Sdiv(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
812 super(masm, Ops.ArithOp.getValue(), Op3s.Sdiv.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
813 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
814 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
815 public Sdiv(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
816 super(masm, Ops.ArithOp.getValue(), Op3s.Sdiv.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
817 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
818 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
819 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
820 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
821 public static class Sdivcc extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
822 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
823 public Sdivcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
824 super(masm, Ops.ArithOp.getValue(), Op3s.Sdivcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
825 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
826 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
827 public Sdivcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
828 super(masm, Ops.ArithOp.getValue(), Op3s.Sdivcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
829 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
830 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
831 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
832 public static class Sdivx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
833 public Sdivx(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
834 super(masm, Ops.ArithOp.getValue(), Op3s.Sdivx.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
835 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
836 public Sdivx(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
837 super(masm, Ops.ArithOp.getValue(), Op3s.Sdivx.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
838 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
839 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
840 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
841 public final void sir(int simm13a) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
842 emitInt(Ops.ArithOp.getValue() | Op3s.Sir.getValue() | ImmedTrue | simm(simm13a, 13)); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
843 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
844 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
845 public static class Sll extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
846 public Sll(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
847 super(masm, Ops.ArithOp.getValue(), Op3s.Sll.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
848 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
849 public Sll(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
850 super(masm, Ops.ArithOp.getValue(), Op3s.Sll.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
851 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
852 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
853 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
854 public static class Sllx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
855 public Sllx(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
856 super(masm, Ops.ArithOp.getValue(), Op3s.Sllx.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
857 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
858 public Sllx(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
859 super(masm, Ops.ArithOp.getValue(), Op3s.Sllx.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
860 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
861 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
862 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
863 public static class Smul extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
864 public Smul(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
865 super(masm, Ops.ArithOp.getValue(), Op3s.Smul.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
866 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
867 public Smul(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
868 super(masm, Ops.ArithOp.getValue(), Op3s.Smul.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
869 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
870 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
871 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
872 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
873 public static class Smulcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
874 public Smulcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
875 super(masm, Ops.ArithOp.getValue(), Op3s.Smulcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
876 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
877 public Smulcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
878 super(masm, Ops.ArithOp.getValue(), Op3s.Smulcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
879 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
880 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
881 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
882 public static class Sra extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
883 public Sra(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
884 super(masm, Ops.ArithOp.getValue(), Op3s.Sra.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
885 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
886 public Sra(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
887 super(masm, Ops.ArithOp.getValue(), Op3s.Sra.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
888 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
889 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
890 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
891 public static class Srax extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
892 public Srax(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
893 super(masm, Ops.ArithOp.getValue(), Op3s.Srax.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
894 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
895 public Srax(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
896 super(masm, Ops.ArithOp.getValue(), Op3s.Srax.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
897 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
898 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
899 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
900 public static class Srl extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
901 public Srl(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
902 super(masm, Ops.ArithOp.getValue(), Op3s.Srl.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
903 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
904 public Srl(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
905 super(masm, Ops.ArithOp.getValue(), Op3s.Srl.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
906 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
907 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
908 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
909 public static class Srlx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
910 public Srlx(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
911 super(masm, Ops.ArithOp.getValue(), Op3s.Srlx.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
912 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
913 public Srlx(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
914 super(masm, Ops.ArithOp.getValue(), Op3s.Srlx.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
915 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
916 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
917 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
918 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
919 public final void stbar() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
920 emitInt(Ops.ArithOp.getValue() | Op3s.Membar.getValue() | 0x0003C000); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
921 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
922 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
923 public static class Sub extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
924 public Sub(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
925 super(masm, Ops.ArithOp.getValue(), Op3s.Sub.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
926 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
927 public Sub(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
928 super(masm, Ops.ArithOp.getValue(), Op3s.Sub.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
929 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
930 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
931 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
932 public static class Subc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
933 public Subc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
934 super(masm, Ops.ArithOp.getValue(), Op3s.Subc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
935 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
936 public Subc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
937 super(masm, Ops.ArithOp.getValue(), Op3s.Subc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
938 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
939 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
940 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
941 public static class Subcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
942 public Subcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
943 super(masm, Ops.ArithOp.getValue(), Op3s.Subcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
944 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
945 public Subcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
946 super(masm, Ops.ArithOp.getValue(), Op3s.Subcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
947 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
948 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
949 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
950 public static class Subccc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
951 public Subccc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
952 super(masm, Ops.ArithOp.getValue(), Op3s.Subccc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
953 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
954 public Subccc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
955 super(masm, Ops.ArithOp.getValue(), Op3s.Subccc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
956 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
957 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
958 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
959 public static class Taddcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
960 public Taddcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
961 super(masm, Ops.ArithOp.getValue(), Op3s.Taddcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
962 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
963 public Taddcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
964 super(masm, Ops.ArithOp.getValue(), Op3s.Taddcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
965 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
966 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
967 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
968 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
969 public static class Taddcctv extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
970 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
971 public Taddcctv(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
972 super(masm, Ops.ArithOp.getValue(), Op3s.Taddcctv.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
973 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
974 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
975 public Taddcctv(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
976 super(masm, Ops.ArithOp.getValue(), dst.encoding(), Op3s.Taddcctv.getValue(), src2.encoding(), src1.encoding()); |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
977 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
978 } |
7839
838293a77af7
Make Address class platform specific.
Roland Schatz <roland.schatz@oracle.com>
parents:
7808
diff
changeset
|
979 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
980 public static class Tsubcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
981 public Tsubcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
982 super(masm, Ops.ArithOp.getValue(), Op3s.Tsubcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
983 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
984 public Tsubcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
985 super(masm, Ops.ArithOp.getValue(), Op3s.Tsubcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
986 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
987 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
988 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
989 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
990 public static class Tsubcctv extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
991 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
992 public Tsubcctv(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
993 super(masm, Ops.ArithOp.getValue(), Op3s.Tsubcctv.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
994 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
995 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
996 public Tsubcctv(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
997 super(masm, Ops.ArithOp.getValue(), Op3s.Tsubcctv.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
998 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
999 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1000 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1001 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1002 public static class Udiv extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1003 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1004 public Udiv(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1005 super(masm, Ops.ArithOp.getValue(), Op3s.Udiv.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1006 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1007 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1008 public Udiv(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1009 super(masm, Ops.ArithOp.getValue(), Op3s.Udiv.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1010 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1011 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1012 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1013 public static class Udivcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1014 public Udivcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1015 super(masm, Ops.ArithOp.getValue(), Op3s.Udivcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1016 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1017 public Udivcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1018 super(masm, Ops.ArithOp.getValue(), Op3s.Udivcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1019 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1020 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1021 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1022 public static class Udivx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1023 public Udivx(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1024 super(masm, Ops.ArithOp.getValue(), Op3s.Udivx.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1025 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1026 public Udivx(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1027 super(masm, Ops.ArithOp.getValue(), Op3s.Udivx.getValue(), dst.encoding(), src2.encoding(), src1.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1028 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1029 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1030 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1031 public static class Umul extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1032 public Umul(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1033 super(masm, Ops.ArithOp.getValue(), Op3s.Umul.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1034 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1035 public Umul(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1036 super(masm, Ops.ArithOp.getValue(), Op3s.Umul.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1037 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1038 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1039 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1040 public static class Umulcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1041 public Umulcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1042 super(masm, Ops.ArithOp.getValue(), Op3s.Umulcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1043 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1044 public Umulcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1045 super(masm, Ops.ArithOp.getValue(), Op3s.Umulcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1046 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1047 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1048 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1049 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1050 public static class Wry extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1051 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1052 public Wry(SPARCAssembler masm, int simm13, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1053 super(masm, Ops.ArithOp.getValue(), Op3s.Wrreg.getValue(), 0, src2.encoding(), simm13); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1054 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1055 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1056 public Wry(SPARCAssembler masm, Register src1, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1057 super(masm, Ops.ArithOp.getValue(), Op3s.Wrreg.getValue(), 0, src2.encoding(), src1.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1058 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1059 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1060 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1061 public static class Wrccr extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1062 public Wrccr(SPARCAssembler masm, int simm13, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1063 super(masm, Ops.ArithOp.getValue(), Op3s.Wrreg.getValue(), 2, src2.encoding(), simm13); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1064 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1065 public Wrccr(SPARCAssembler masm, Register src1, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1066 super(masm, Ops.ArithOp.getValue(), Op3s.Wrreg.getValue(), 2, src2.encoding(), src1.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1067 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1068 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1069 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1070 public static class Wrasi extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1071 public Wrasi(SPARCAssembler masm, int simm13, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1072 super(masm, Ops.ArithOp.getValue(), Op3s.Wrreg.getValue(), 3, src2.encoding(), simm13); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1073 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1074 public Wrasi(SPARCAssembler masm, Register src1, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1075 super(masm, Ops.ArithOp.getValue(), Op3s.Wrreg.getValue(), 3, src2.encoding(), src1.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1076 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1077 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1078 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1079 public static class Wrfprs extends Fmt3b { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1080 public Wrfprs(SPARCAssembler masm, int simm13, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1081 super(masm, Ops.ArithOp.getValue(), Op3s.Wrreg.getValue(), 6, src2.encoding(), simm13); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1082 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1083 public Wrfprs(SPARCAssembler masm, Register src1, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1084 super(masm, Ops.ArithOp.getValue(), Op3s.Wrreg.getValue(), 6, src2.encoding(), src1.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1085 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1086 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1087 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1088 public static class Xor extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1089 public Xor(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1090 super(masm, Ops.ArithOp.getValue(), Op3s.Xor.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1091 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1092 public Xor(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1093 super(masm, Ops.ArithOp.getValue(), Op3s.Xor.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1094 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1095 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1096 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1097 public static class Xorcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1098 public Xorcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1099 super(masm, Ops.ArithOp.getValue(), Op3s.Xorcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1100 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1101 public Xorcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1102 super(masm, Ops.ArithOp.getValue(), Op3s.Xorcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1103 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1104 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1105 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1106 public static class Xnor extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1107 public Xnor(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1108 super(masm, Ops.ArithOp.getValue(), Op3s.Xnor.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1109 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1110 public Xnor(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1111 super(masm, Ops.ArithOp.getValue(), Op3s.Xnor.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1112 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1113 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1114 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1115 public static class Xnorcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1116 public Xnorcc(SPARCAssembler masm, Register src1, int simm13, Register dst) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1117 super(masm, Ops.ArithOp.getValue(), Op3s.Xnorcc.getValue(), src1.encoding(), simm13, dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1118 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1119 public Xnorcc(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1120 super(masm, Ops.ArithOp.getValue(), Op3s.Xnorcc.getValue(), src1.encoding(), src2.encoding(), dst.encoding()); |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1121 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1122 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
1123 } |