Mercurial > hg > truffle
annotate graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java @ 9843:e05af215586b
SPARC compare
author | Morris Meyer <morris.meyer@oracle.com> |
---|---|
date | Thu, 30 May 2013 22:56:22 -0400 |
parents | 705aca4ebf2f |
children | 2d1687e63484 |
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; |
9828
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
29 import com.oracle.graal.asm.*; |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
30 import com.oracle.graal.hotspot.HotSpotGraalRuntime; |
9831
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
31 import com.oracle.graal.sparc.SPARC; |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
32 |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
33 /** |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
34 * 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
|
35 */ |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
36 public class SPARCAssembler extends AbstractSPARCAssembler { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
37 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
38 // @formatter:off |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
39 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
40 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
|
41 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
|
42 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
|
43 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
|
44 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
45 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
|
46 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
47 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
48 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
49 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
|
50 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
|
51 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
|
52 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
|
53 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
|
54 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
55 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
|
56 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
57 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
58 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
59 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
|
60 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
|
61 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
|
62 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
|
63 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
|
64 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
|
65 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
66 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
|
67 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
68 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
69 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
70 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
|
71 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
|
72 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
|
73 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
|
74 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
|
75 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
|
76 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
77 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
|
78 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
79 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
80 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
81 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
|
82 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
|
83 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
|
84 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
|
85 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
|
86 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
|
87 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
|
88 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
89 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
|
90 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
91 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
92 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
93 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
|
94 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
|
95 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
|
96 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
|
97 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
|
98 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
|
99 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
|
100 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
101 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
|
102 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
103 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
104 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
105 public static class Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
106 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
|
107 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
|
108 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
|
109 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
|
110 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
|
111 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
112 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
|
113 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
114 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
115 |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
116 public static class Fmt3c { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
117 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
|
118 assert op == 2; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
119 assert op3 >= 0 && op3 < 0x40; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
120 assert rs1 >= 0 && rs1 < 0x20; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
121 assert rs2 >= 0 && rs2 < 0x20; |
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 masm.emitInt(op << 30 | op3 << 19 | rs1 << 14 | rs2); |
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 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
126 |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
127 public static class Fmt3d { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
128 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
|
129 assert op == 2; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
130 assert op3 >= 0 && op3 < 0x40; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
131 assert rs1 >= 0 && rs1 < 0x20; |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
132 |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
133 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
|
134 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
135 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
136 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
137 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
|
138 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
|
139 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
|
140 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
|
141 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
|
142 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
|
143 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
|
144 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
|
145 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
146 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
|
147 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
148 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
149 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
150 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
|
151 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
|
152 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
|
153 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
|
154 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
|
155 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
|
156 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
157 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
|
158 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
159 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
160 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
161 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
|
162 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
|
163 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
|
164 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
|
165 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
|
166 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
|
167 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
|
168 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
|
169 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
170 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
|
171 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
172 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
173 |
9817
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
174 public static class Fmt3n { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
175 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
|
176 assert op == 2 || op == 3; |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
177 assert op3 >= 0 && op3 < 0x40; |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
178 assert opf >= 0 && opf < 0x200; |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
179 assert rs2 >= 0 && rs2 < 0x20; |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
180 assert rd >= 0 && rd < 0x20; |
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 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
|
183 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
184 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
185 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
186 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
|
187 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
|
188 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
|
189 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
|
190 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
|
191 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
|
192 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
193 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
|
194 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
195 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
196 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
197 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
|
198 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
|
199 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
|
200 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
|
201 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
|
202 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
|
203 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
|
204 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
|
205 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
206 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
|
207 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
208 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
209 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
210 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
|
211 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
|
212 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
|
213 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
|
214 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
|
215 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
|
216 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
|
217 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
218 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
|
219 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
220 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
221 |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
222 public static final int ImmedTrue = 0x00002000; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
223 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
224 public enum Ops { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
225 CallOp(1), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
226 BranchOp(0), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
227 ArithOp(2), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
228 LdstOp(3); |
9695
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 final int value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
231 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
232 private Ops(int value) { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
233 this.value = value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
234 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
235 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
236 public int getValue() { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
237 return value; |
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 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
240 |
9828
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
241 public enum Op2s { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
242 Bpr(3), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
243 Fb(6), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
244 Fbp(5), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
245 Br(2), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
246 Bp(1), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
247 Cb(7), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
248 Sethi(4); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
249 |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
250 private final int value; |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
251 |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
252 private Op2s(int value) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
253 this.value = value; |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
254 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
255 |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
256 public int getValue() { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
257 return value; |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
258 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
259 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
260 |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
261 public enum Op3s { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
262 Add(0x00, "add"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
263 And(0x01, "and"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
264 Or(0x02, "or"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
265 Xor(0x03, "xor"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
266 Sub(0x04, "sub"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
267 Andn(0x05, "andn"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
268 Orn(0x06, "orn"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
269 Xnor(0x07, "xnor"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
270 Addc(0x08, "addc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
271 Mulx(0x09, "mulx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
272 Umul(0x0A, "umul"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
273 Smul(0x0B, "smul"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
274 Subc(0x0C, "subc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
275 Udivx(0x0D, "udivx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
276 Udiv(0x0E, "udiv"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
277 Sdiv(0x0F, "sdiv"), |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
278 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
279 Addcc(0x10, "addcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
280 Andcc(0x11, "andcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
281 Orcc(0x12, "orcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
282 Xorcc(0x13, "xorcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
283 Subcc(0x14, "subcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
284 Andncc(0x15, "andncc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
285 Orncc(0x16, "orncc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
286 Xnorcc(0x17, "xnorcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
287 Addccc(0x18, "addccc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
288 Mulxcc(0x19, "mulxcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
289 Umulcc(0x1A, "umulcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
290 Smulcc(0x1B, "smulcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
291 Subccc(0x1C0, "subccc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
292 Udivcc(0x1E, "udivcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
293 Sdivcc(0x1F, "sdivcc"), |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
294 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
295 Taddcc(0x20, "taddcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
296 Tsubcc(0x21, "tsubcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
297 Taddcctv(0x22, "taddcctv"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
298 Tsubcctv(0x23, "tsubcctv"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
299 Mulscc(0x24, "mulscc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
300 Sll(0x25, "sll"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
301 Sllx(0x25, "sllx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
302 Srl(0x26, "srl"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
303 Srlx(0x26, "srlx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
304 Sra(0x27, "srax"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
305 Srax(0x27, "srax"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
306 Rdreg(0x28, "rdreg"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
307 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
|
308 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
309 Flushw(0x2B, "flushw"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
310 Movcc(0x2C, "movcc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
311 Sdivx(0x2D, "sdivx"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
312 Popc(0x2E, "popc"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
313 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
|
314 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
315 Sir(0x30, "sir"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
316 Wrreg(0x30, "wrreg"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
317 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
|
318 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
319 Fpop1(0x34, "fpop1"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
320 Fpop2(0x35, "fpop2"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
321 Impdep1(0x36, "impdep1"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
322 Impdep2(0x37, "impdep2"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
323 Jmpl(0x38, "jmpl"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
324 Rett(0x39, "rett"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
325 Trap(0x3a, "trap"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
326 Flush(0x3b, "flush"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
327 Save(0x3c, "save"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
328 Restore(0x3d, "restore"), |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
329 Done(0x3e, "done"), |
9825
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
330 Retry(0x3e, "retry"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
331 |
9831
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
332 Lduw(0x00, "lduw"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
333 Ldub(0x01, "ldub"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
334 Lduh(0x02, "lduh"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
335 Ldd(0x03, "ldd"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
336 Stw(0x04, "stw"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
337 Stb(0x05, "stb"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
338 Sth(0x06, "sth"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
339 Std(0x07, "std"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
340 Ldsw(0x08, "ldsw"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
341 Ldsb(0x09, "ldsb"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
342 Ldsh(0x0A, "ldsh"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
343 Ldx(0x0b, "ldx"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
344 Stx(0x0e, "stx"), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
345 |
9825
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
346 Ldf(0x20, "ldf"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
347 Ldfsr(0x21, "ldfsr"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
348 Ldaf(0x22, "ldaf"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
349 Lddf(0x23, "lddf"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
350 Stf(0x24, "stf"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
351 Stfsr(0x25, "stfsr"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
352 Staf(0x26, "staf"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
353 Stdf(0x27, "stdf"); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
354 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
355 private final int value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
356 private final String operator; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
357 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
358 private Op3s(int value, String op) { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
359 this.value = value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
360 this.operator = op; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
361 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
362 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
363 public int getValue() { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
364 return value; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
365 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
366 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
367 public String getOperator() { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
368 return operator; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
369 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
370 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
371 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
372 public enum Opfs { |
9825
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
373 Fmovs(0x01, "fmovs"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
374 Fmovd(0x02, "fmovd"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
375 Fmovq(0x03, "fmovq"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
376 Fnegs(0x05, "fnegs"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
377 Fnegd(0x06, "fnegd"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
378 Fnegq(0x07, "fnegq"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
379 Fabss(0x09, "fabss"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
380 Fabsd(0x0A, "fabsd"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
381 Fabsq(0x0B, "fabsq"), |
9817
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
382 Fadds(0x41, "fadds"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
383 Faddd(0x42, "faddd"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
384 Faddq(0x43, "faddq"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
385 Fsubs(0x45, "fsubs"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
386 Fsubd(0x46, "fsubd"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
387 Fsubq(0x47, "fsubq"), |
9825
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
388 Fmuls(0x49, "fmuls"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
389 Fmuld(0x4A, "fmuld"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
390 Fdivs(0x4C, "fdivs"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
391 Fdivd(0x4D, "fdivd"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
392 Fdivq(0x4E, "fdivq"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
393 |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
394 Fsmuld(0x69, "fsmuld"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
395 Fmulq(0x6B, "fmulq"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
396 Fdmuldq(0x6E, "fdmulq"), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
397 |
9817
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
398 Fstoi(0xD1, "fstoi"), |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
399 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
|
400 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
401 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
|
402 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
|
403 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
404 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
|
405 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
|
406 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
|
407 } |
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 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
|
410 return value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
411 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
412 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
413 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
|
414 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
415 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
416 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
417 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
418 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
|
419 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
|
420 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
|
421 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
|
422 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
|
423 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
|
424 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
|
425 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
|
426 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
427 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
|
428 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
|
429 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
430 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
|
431 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
|
432 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
|
433 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
434 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
435 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
|
436 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
|
437 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
438 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
439 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
|
440 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
441 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
442 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
443 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
444 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
|
445 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
|
446 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
|
447 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
|
448 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
|
449 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
|
450 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
|
451 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
|
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 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
|
454 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
|
455 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
456 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
|
457 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
|
458 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
|
459 } |
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 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
|
462 return value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
463 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
464 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
465 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
|
466 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
467 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
468 } |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
469 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
470 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
|
471 // 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
|
472 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
473 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
|
474 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
|
475 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
|
476 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
|
477 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
|
478 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
|
479 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
|
480 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
|
481 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
|
482 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
|
483 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
|
484 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
|
485 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
|
486 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
|
487 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
|
488 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
|
489 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
|
490 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
|
491 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
492 // for integers |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
493 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
|
494 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
|
495 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
|
496 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
|
497 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
|
498 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
|
499 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
|
500 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
|
501 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
|
502 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
|
503 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
|
504 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
|
505 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
|
506 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
|
507 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
|
508 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
|
509 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
|
510 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
|
511 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
|
512 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
|
513 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
514 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
|
515 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
|
516 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
517 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
|
518 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
|
519 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
|
520 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
521 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
522 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
|
523 return value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
524 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
525 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
526 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
|
527 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
528 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
529 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
530 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
531 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
|
532 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
|
533 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
|
534 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
|
535 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
|
536 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
|
537 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
|
538 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
|
539 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
540 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
|
541 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
|
542 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
543 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
|
544 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
|
545 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
|
546 } |
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 int getValue() { |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
549 return value; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
550 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
551 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
552 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
|
553 return operator; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
554 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
555 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
556 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
557 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
|
558 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
|
559 return reg; |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
560 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
561 |
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 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
|
563 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
|
564 // 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
|
565 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
|
566 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
567 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
568 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
|
569 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
|
570 // 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
|
571 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
|
572 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
573 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
574 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
|
575 super(target); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
576 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
577 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
578 public static final int sx1 = 0x00001000; |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
579 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
580 public static final int simm(int x, int nbits) { |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
581 // assert_signed_range(x, nbits); |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
582 return x & ((1 << nbits) - 1); |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
583 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
584 |
9831
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
585 private static final int max13 = ((1 << 12) - 1); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
586 private static final int min13 = -(1 << 12); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
587 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
588 public static boolean isSimm13(int src) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
589 return min13 <= src && src <= max13; |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
590 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
591 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
592 public static final int hi22(int x) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
593 return x >> 10; |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
594 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
595 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
596 public static final int lo10(int x) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
597 return x & ((1 << 10) - 1); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
598 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
599 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
600 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
|
601 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
|
602 return (val << 25); |
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 Add extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
606 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
|
607 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
|
608 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
609 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
|
610 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
|
611 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
612 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
613 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
614 public static class Addc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
615 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
|
616 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
|
617 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
618 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
|
619 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
|
620 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
621 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
622 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
623 public static class Addcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
624 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
|
625 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
|
626 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
627 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
|
628 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
|
629 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
630 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
631 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
632 public static class Addccc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
633 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
|
634 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
|
635 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
636 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
|
637 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
|
638 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
639 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
640 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
641 public static class And extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
642 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
|
643 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
|
644 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
645 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
|
646 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
|
647 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
648 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
649 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
650 public static class Andcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
651 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
|
652 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
|
653 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
654 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
|
655 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
|
656 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
657 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
658 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
659 public static class Andn extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
660 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
|
661 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
|
662 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
663 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
|
664 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
|
665 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
666 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
667 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
668 public static class Andncc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
669 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
|
670 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
|
671 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
672 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
|
673 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
|
674 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
675 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
676 |
9828
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
677 public static class Bpa extends Fmt2c { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
678 public Bpa(SPARCAssembler masm, int simmm19) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
679 super(masm, Ops.BranchOp.getValue(), 0, Condition.Always.getValue(), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
680 Op2s.Bp.getValue(), CC.Icc.getValue(), 1, simmm19); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
681 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
682 public Bpa(SPARCAssembler masm, Label label) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
683 super(masm, Ops.BranchOp.getValue(), 0, Condition.Always.getValue(), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
684 Op2s.Bp.getValue(), CC.Icc.getValue(), 1, |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
685 label.isBound() ? label.position() : patchUnbound(masm, label)); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
686 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
687 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
688 |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
689 public static class Bpe extends Fmt2c { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
690 public Bpe(SPARCAssembler masm, CC cc, int simmm19) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
691 super(masm, Ops.BranchOp.getValue(), 0, Condition.Equal.getValue(), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
692 Op2s.Bp.getValue(), cc.getValue(), 1, simmm19); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
693 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
694 public Bpe(SPARCAssembler masm, CC cc, Label label) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
695 super(masm, Ops.BranchOp.getValue(), 0, Condition.Equal.getValue(), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
696 Op2s.Bp.getValue(), cc.getValue(), 1, |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
697 label.isBound() ? label.position() : patchUnbound(masm, label)); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
698 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
699 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
700 |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
701 public static class Bpn extends Fmt2c { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
702 public Bpn(SPARCAssembler masm, CC cc, int simmm19) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
703 super(masm, Ops.BranchOp.getValue(), 0, Condition.Never.getValue(), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
704 Op2s.Bp.getValue(), cc.getValue(), 1, simmm19); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
705 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
706 public Bpn(SPARCAssembler masm, CC cc, Label label) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
707 super(masm, Ops.BranchOp.getValue(), 0, Condition.Never.getValue(), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
708 Op2s.Bp.getValue(), cc.getValue(), 1, |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
709 label.isBound() ? label.position() : patchUnbound(masm, label)); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
710 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
711 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
712 |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
713 public static class Bpne extends Fmt2c { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
714 public Bpne(SPARCAssembler masm, CC cc, int simmm19) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
715 super(masm, Ops.BranchOp.getValue(), 0, Condition.NotZero.getValue(), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
716 Op2s.Bp.getValue(), cc.getValue(), 1, simmm19); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
717 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
718 public Bpne(SPARCAssembler masm, CC cc, Label label) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
719 super(masm, Ops.BranchOp.getValue(), 0, Condition.NotZero.getValue(), |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
720 Op2s.Bp.getValue(), cc.getValue(), 1, |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
721 label.isBound() ? label.position() : patchUnbound(masm, label)); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
722 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
723 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
724 |
9843 | 725 @SuppressWarnings("unused") |
726 public static class Cmp { | |
727 public Cmp(SPARCAssembler masm, Register a, Register b) { | |
728 new Subcc(masm, a, b, SPARC.r0); | |
729 } | |
730 public Cmp(SPARCAssembler masm, Register a, int simm13) { | |
731 new Subcc(masm, a, simm13, SPARC.r0); | |
732 } | |
733 } | |
734 | |
9828
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
735 private static int patchUnbound(SPARCAssembler masm, Label label) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
736 label.addPatchAt(masm.codeBuffer.position()); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
737 return 0; |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
738 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
739 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
740 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
|
741 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
|
742 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
|
743 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
|
744 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
745 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
746 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
747 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
|
748 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
|
749 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
|
750 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
|
751 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
752 } |
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 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
|
755 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
|
756 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
|
757 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
|
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 |
9825
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
761 public static class Fdivs extends Fmt3p { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
762 public Fdivs(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
763 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fdivs.getValue(), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
764 src1.encoding(), src2.encoding(), dst.encoding()); |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
765 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
766 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
767 |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
768 public static class Fdivd extends Fmt3p { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
769 public Fdivd(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
770 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fdivd.getValue(), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
771 src1.encoding(), src2.encoding(), dst.encoding()); |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
772 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
773 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
774 |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
775 public static class Fmuls extends Fmt3p { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
776 public Fmuls(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
777 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fmuls.getValue(), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
778 src1.encoding(), src2.encoding(), dst.encoding()); |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
779 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
780 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
781 |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
782 public static class Fmuld extends Fmt3p { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
783 public Fmuld(SPARCAssembler masm, Register src1, Register src2, Register dst) { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
784 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fmuld.getValue(), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
785 src1.encoding(), src2.encoding(), dst.encoding()); |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
786 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
787 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
788 |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
789 public static class Fnegs extends Fmt3n { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
790 public Fnegs(SPARCAssembler masm, Register src2, Register dst) { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
791 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fnegs.getValue(), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
792 src2.encoding(), dst.encoding()); |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
793 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
794 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
795 |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
796 public static class Fnegd extends Fmt3n { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
797 public Fnegd(SPARCAssembler masm, Register src2, Register dst) { |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
798 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fnegd.getValue(), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
799 src2.encoding(), dst.encoding()); |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
800 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
801 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
802 |
9817
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
803 public static class Fstoi extends Fmt3n { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
804 public Fstoi(SPARCAssembler masm, Register src2, Register dst) { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
805 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
|
806 src2.encoding(), dst.encoding()); |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
807 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
808 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
809 |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
810 public static class Fdtoi extends Fmt3n { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
811 public Fdtoi(SPARCAssembler masm, Register src2, Register dst) { |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
812 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
|
813 src2.encoding(), dst.encoding()); |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
814 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
815 } |
26960d32552c
SPARC integer arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9816
diff
changeset
|
816 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
817 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
|
818 emitInt(Ops.ArithOp.getValue() | Op3s.Flushw.getValue()); |
9695
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 |
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 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
|
822 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
|
823 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
|
824 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
|
825 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
826 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
827 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
828 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
|
829 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
|
830 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
|
831 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
|
832 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
833 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
834 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
835 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
|
836 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
|
837 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
|
838 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
|
839 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
840 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
841 |
9828
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
842 @Override |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
843 @SuppressWarnings("unused") |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
844 public void jmp(Label l) { |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
845 new Bpa(this, l); |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
846 } |
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
847 |
9831
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
848 public static class Lddf extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
849 public Lddf(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
850 super(masm, Ops.ArithOp.getValue(), Op3s.Lddf.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
851 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
852 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
853 } |
9828
5aedcaed6ccf
Initial SPARC control instructions
Morris Meyer <morris.meyer@oracle.com>
parents:
9825
diff
changeset
|
854 |
9831
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
855 public static class Ldf extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
856 public Ldf(SPARCAssembler masm, SPARCAddress src, Register dst) { |
9825
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
857 super(masm, Ops.ArithOp.getValue(), Op3s.Ldf.getValue(), |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
858 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
859 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
860 } |
81d5d8089cda
SPARC float arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9817
diff
changeset
|
861 |
9831
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
862 public static class Ldsb extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
863 public Ldsb(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
864 super(masm, Ops.ArithOp.getValue(), Op3s.Ldsb.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
865 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
866 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
867 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
868 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
869 public static class Ldsh extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
870 public Ldsh(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
871 super(masm, Ops.ArithOp.getValue(), Op3s.Ldsh.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
872 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
873 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
874 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
875 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
876 public static class Ldsw extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
877 public Ldsw(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
878 super(masm, Ops.ArithOp.getValue(), Op3s.Ldsw.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
879 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
880 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
881 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
882 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
883 public static class Lduw extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
884 public Lduw(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
885 super(masm, Ops.ArithOp.getValue(), Op3s.Lduw.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
886 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
887 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
888 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
889 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
890 public static class Ldx extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
891 public Ldx(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
892 super(masm, Ops.ArithOp.getValue(), Op3s.Ldx.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
893 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
894 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
895 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
896 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
897 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
|
898 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
|
899 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
|
900 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
901 } |
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
902 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
903 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
|
904 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
|
905 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
|
906 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
|
907 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
908 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
|
909 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
|
910 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
|
911 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
912 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
913 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
914 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
|
915 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
|
916 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
|
917 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
|
918 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
919 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
|
920 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
|
921 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
|
922 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
923 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
924 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
925 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
926 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
|
927 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
928 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
|
929 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
|
930 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
931 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
932 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
|
933 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
|
934 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
935 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
936 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
937 public static class Mulx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
938 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
|
939 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
|
940 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
941 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
|
942 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
|
943 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
944 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
945 |
9831
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
946 public static class NullCheck extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
947 public NullCheck(SPARCAssembler masm, SPARCAddress src) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
948 super(masm, Ops.ArithOp.getValue(), Op3s.Ldx.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
949 src.getBase().encoding(), src.getDisplacement(), SPARC.r0.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
950 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
951 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
952 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
953 public static class Or extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
954 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
|
955 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
|
956 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
957 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
|
958 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
|
959 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
960 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
961 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
962 public static class Orcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
963 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
|
964 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
|
965 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
966 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
|
967 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
|
968 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
969 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
970 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
971 public static class Orn extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
972 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
|
973 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
|
974 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
975 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
|
976 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
|
977 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
978 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
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 Orncc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
981 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
|
982 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
|
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 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
|
985 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
|
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 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
|
990 public Popc(SPARCAssembler masm, int simm13, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
991 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
|
992 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
993 public Popc(SPARCAssembler masm, Register src2, Register dst) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
994 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
|
995 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
996 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
997 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
998 // A.44 Read State Register |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
999 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1000 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1001 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
|
1002 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
|
1003 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
|
1004 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1005 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1006 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1007 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
|
1008 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
|
1009 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
|
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 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
|
1014 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
|
1015 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
|
1016 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1017 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1018 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1019 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
|
1020 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
|
1021 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
|
1022 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1023 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1024 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1025 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
|
1026 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
|
1027 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
|
1028 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1029 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1030 |
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 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
|
1032 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
|
1033 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
|
1034 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1035 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1036 |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1037 public static class Return extends Fmt3d { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1038 public Return(SPARCAssembler masm, Register src1, int simm13) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1039 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
|
1040 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1041 public Return(SPARCAssembler masm, Register src1, Register src2) { |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1042 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
|
1043 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1044 } |
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1045 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1046 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
|
1047 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
|
1048 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1049 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1050 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
|
1051 emitInt(Ops.ArithOp.getValue() | Op3s.Saved.getValue() | fcn(0)); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1052 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1053 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1054 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1055 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
|
1056 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1057 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
|
1058 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
|
1059 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1060 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1061 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
|
1062 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
|
1063 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1064 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1065 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1066 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1067 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
|
1068 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1069 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
|
1070 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
|
1071 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1072 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1073 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
|
1074 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
|
1075 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1076 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1077 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1078 public static class Sdivx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1079 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
|
1080 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
|
1081 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1082 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
|
1083 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
|
1084 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1085 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1086 |
9831
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1087 public static class Sethi extends Fmt2a { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1088 public Sethi(SPARCAssembler masm, int simm22, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1089 super(masm, Ops.BranchOp.getValue(), Op2s.Sethi.getValue(), simm22, dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1090 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1091 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1092 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1093 @SuppressWarnings("unused") |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1094 public static class Setuw { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1095 public Setuw(SPARCAssembler masm, int value, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1096 if (value >= 0 && ((value & 0x3FFF) == 0)) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1097 new Sethi(masm, hi22(value), dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1098 } else if (-4095 <= value && value <= 4096) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1099 // or g0, value, dst |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1100 new Or(masm, SPARC.r0, value, dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1101 } else { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1102 new Sethi(masm, hi22(value), dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1103 new Or(masm, dst, lo10(value), dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1104 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1105 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1106 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1107 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1108 @SuppressWarnings("unused") |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1109 public static class Setx { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1110 public Setx(SPARCAssembler masm, long value, Register tmp, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1111 int hi = (int) (value >> 32); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1112 int lo = (int) (value & ~0); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1113 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1114 if (isSimm13(lo) && value == lo) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1115 new Or(masm, SPARC.r0, lo, dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1116 } else if (hi == 0) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1117 new Sethi(masm, lo, dst); // hardware version zero-extends to upper 32 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1118 if (lo10(lo) != 0) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1119 new Or(masm, dst, lo10(lo), dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1120 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1121 } else if (hi == -1) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1122 new Sethi(masm, ~lo, dst); // hardware version zero-extends to upper 32 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1123 new Xor(masm, dst, lo10(lo) ^ ~lo10(~0), dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1124 } else if (lo == 0) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1125 if (isSimm13(hi)) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1126 new Or(masm, SPARC.r0, hi, dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1127 } else { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1128 new Sethi(masm, hi, dst); // hardware version zero-extends to upper 32 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1129 if (lo10(hi) != 0) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1130 new Or(masm, dst, lo10(hi), dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1131 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1132 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1133 new Sllx(masm, dst, 32, dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1134 } else { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1135 new Sethi(masm, hi, tmp); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1136 new Sethi(masm, lo, dst); // macro assembler version sign-extends |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1137 if (lo10(hi) != 0) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1138 new Or(masm, tmp, lo10(hi), tmp); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1139 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1140 if (lo10(lo) != 0) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1141 new Or(masm, dst, lo10(lo), dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1142 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1143 new Sllx(masm, tmp, 32, tmp); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1144 new Or(masm, dst, tmp, dst); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1145 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1146 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1147 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1148 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1149 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
|
1150 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
|
1151 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1152 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1153 public static class Sll extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1154 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
|
1155 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
|
1156 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1157 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
|
1158 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
|
1159 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1160 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1161 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1162 public static class Sllx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1163 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
|
1164 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
|
1165 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1166 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
|
1167 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
|
1168 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1169 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1170 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1171 public static class Smul extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1172 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
|
1173 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
|
1174 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1175 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
|
1176 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
|
1177 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1178 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1179 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1180 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1181 public static class Smulcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1182 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
|
1183 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
|
1184 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1185 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
|
1186 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
|
1187 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1188 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1189 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1190 public static class Sra extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1191 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
|
1192 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
|
1193 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1194 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
|
1195 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
|
1196 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1197 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1198 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1199 public static class Srax extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1200 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
|
1201 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
|
1202 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1203 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
|
1204 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
|
1205 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1206 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1207 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1208 public static class Srl extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1209 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
|
1210 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
|
1211 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1212 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
|
1213 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
|
1214 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1215 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1216 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1217 public static class Srlx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1218 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
|
1219 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
|
1220 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1221 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
|
1222 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
|
1223 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1224 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1225 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1226 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1227 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
|
1228 emitInt(Ops.ArithOp.getValue() | Op3s.Membar.getValue() | 0x0003C000); |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1229 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1230 |
9831
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1231 public static class Stb extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1232 public Stb(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1233 super(masm, Ops.ArithOp.getValue(), Op3s.Stb.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1234 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1235 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1236 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1237 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1238 public static class Sth extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1239 public Sth(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1240 super(masm, Ops.ArithOp.getValue(), Op3s.Sth.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1241 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1242 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1243 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1244 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1245 public static class Stw extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1246 public Stw(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1247 super(masm, Ops.ArithOp.getValue(), Op3s.Stw.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1248 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1249 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1250 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1251 |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1252 public static class Stx extends Fmt3b { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1253 public Stx(SPARCAssembler masm, SPARCAddress src, Register dst) { |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1254 super(masm, Ops.ArithOp.getValue(), Op3s.Stx.getValue(), |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1255 src.getBase().encoding(), src.getDisplacement(), dst.encoding()); |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1256 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1257 } |
705aca4ebf2f
SPARC array, load / store and compare operations
Morris Meyer <morris.meyer@oracle.com>
parents:
9828
diff
changeset
|
1258 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1259 public static class Sub extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1260 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
|
1261 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
|
1262 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1263 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
|
1264 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
|
1265 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1266 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1267 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1268 public static class Subc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1269 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
|
1270 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
|
1271 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1272 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
|
1273 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
|
1274 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1275 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1276 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1277 public static class Subcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1278 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
|
1279 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
|
1280 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1281 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
|
1282 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
|
1283 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1284 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1285 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1286 public static class Subccc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1287 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
|
1288 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
|
1289 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1290 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
|
1291 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
|
1292 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1293 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1294 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1295 public static class Taddcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1296 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
|
1297 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
|
1298 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1299 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
|
1300 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
|
1301 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1302 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1303 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1304 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1305 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
|
1306 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1307 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
|
1308 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
|
1309 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1310 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1311 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
|
1312 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
|
1313 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
1314 } |
7839
838293a77af7
Make Address class platform specific.
Roland Schatz <roland.schatz@oracle.com>
parents:
7808
diff
changeset
|
1315 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1316 public static class Tsubcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1317 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
|
1318 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
|
1319 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1320 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
|
1321 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
|
1322 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1323 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1324 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1325 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1326 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
|
1327 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1328 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
|
1329 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
|
1330 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1331 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1332 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
|
1333 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
|
1334 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1335 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1336 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1337 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1338 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
|
1339 @Deprecated |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1340 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
|
1341 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
|
1342 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1343 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1344 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
|
1345 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
|
1346 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1347 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1348 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1349 public static class Udivcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1350 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
|
1351 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
|
1352 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1353 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
|
1354 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
|
1355 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1356 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1357 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1358 public static class Udivx extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1359 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
|
1360 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
|
1361 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1362 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
|
1363 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
|
1364 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1365 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1366 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1367 public static class Umul extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1368 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
|
1369 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
|
1370 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1371 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
|
1372 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
|
1373 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1374 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1375 |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1376 public static class Umulcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1377 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
|
1378 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
|
1379 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1380 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
|
1381 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
|
1382 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1383 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1384 |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1385 @Deprecated |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1386 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
|
1387 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1388 public Wry(SPARCAssembler masm, int simm13, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1389 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
|
1390 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1391 @Deprecated |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1392 public Wry(SPARCAssembler masm, Register src1, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1393 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
|
1394 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1395 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1396 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1397 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
|
1398 public Wrccr(SPARCAssembler masm, int simm13, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1399 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
|
1400 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1401 public Wrccr(SPARCAssembler masm, Register src1, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1402 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
|
1403 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1404 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1405 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1406 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
|
1407 public Wrasi(SPARCAssembler masm, int simm13, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1408 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
|
1409 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1410 public Wrasi(SPARCAssembler masm, Register src1, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1411 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
|
1412 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1413 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1414 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1415 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
|
1416 public Wrfprs(SPARCAssembler masm, int simm13, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1417 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
|
1418 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1419 public Wrfprs(SPARCAssembler masm, Register src1, Register src2) { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1420 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
|
1421 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1422 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1423 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1424 public static class Xor extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1425 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
|
1426 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
|
1427 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1428 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
|
1429 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
|
1430 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1431 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1432 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1433 public static class Xorcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1434 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
|
1435 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
|
1436 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1437 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
|
1438 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
|
1439 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1440 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1441 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1442 public static class Xnor extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1443 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
|
1444 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
|
1445 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1446 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
|
1447 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
|
1448 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1449 } |
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1450 |
9814
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1451 public static class Xnorcc extends Fmt3b { |
9816
4e9854086532
Initial SPARC compilation test
Morris Meyer <morris.meyer@oracle.com>
parents:
9814
diff
changeset
|
1452 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
|
1453 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
|
1454 } |
e723f9031785
re-architected SPARC assembler to be Fmt class specific, initial arithmetic
Morris Meyer <morris.meyer@oracle.com>
parents:
9695
diff
changeset
|
1455 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
|
1456 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
|
1457 } |
9695
a39e67ca883b
partial SPARC assembler
Morris Meyer <morris.meyer@oracle.com>
parents:
8170
diff
changeset
|
1458 } |
7740
5f8101629080
Add projects and skeletons for SPARC port.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
1459 } |