OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ | 5 #ifndef V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ |
6 #define V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ | 6 #define V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ |
7 | 7 |
8 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 namespace compiler { | 10 namespace compiler { |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 V(Mips64RoundWD) \ | 90 V(Mips64RoundWD) \ |
91 V(Mips64FloorWD) \ | 91 V(Mips64FloorWD) \ |
92 V(Mips64CeilWD) \ | 92 V(Mips64CeilWD) \ |
93 V(Mips64TruncWS) \ | 93 V(Mips64TruncWS) \ |
94 V(Mips64RoundWS) \ | 94 V(Mips64RoundWS) \ |
95 V(Mips64FloorWS) \ | 95 V(Mips64FloorWS) \ |
96 V(Mips64CeilWS) \ | 96 V(Mips64CeilWS) \ |
97 V(Mips64TruncLS) \ | 97 V(Mips64TruncLS) \ |
98 V(Mips64TruncLD) \ | 98 V(Mips64TruncLD) \ |
99 V(Mips64TruncUwD) \ | 99 V(Mips64TruncUwD) \ |
| 100 V(Mips64TruncUwS) \ |
100 V(Mips64TruncUlS) \ | 101 V(Mips64TruncUlS) \ |
101 V(Mips64TruncUlD) \ | 102 V(Mips64TruncUlD) \ |
102 V(Mips64CvtDW) \ | 103 V(Mips64CvtDW) \ |
103 V(Mips64CvtSL) \ | 104 V(Mips64CvtSL) \ |
104 V(Mips64CvtSW) \ | 105 V(Mips64CvtSW) \ |
105 V(Mips64CvtSUl) \ | 106 V(Mips64CvtSUl) \ |
106 V(Mips64CvtDL) \ | 107 V(Mips64CvtDL) \ |
107 V(Mips64CvtDUw) \ | 108 V(Mips64CvtDUw) \ |
108 V(Mips64CvtDUl) \ | 109 V(Mips64CvtDUl) \ |
109 V(Mips64Lb) \ | 110 V(Mips64Lb) \ |
(...skipping 17 matching lines...) Expand all Loading... |
127 V(Mips64Float64InsertLowWord32) \ | 128 V(Mips64Float64InsertLowWord32) \ |
128 V(Mips64Float64InsertHighWord32) \ | 129 V(Mips64Float64InsertHighWord32) \ |
129 V(Mips64Float64Max) \ | 130 V(Mips64Float64Max) \ |
130 V(Mips64Float64Min) \ | 131 V(Mips64Float64Min) \ |
131 V(Mips64Float32Max) \ | 132 V(Mips64Float32Max) \ |
132 V(Mips64Float32Min) \ | 133 V(Mips64Float32Min) \ |
133 V(Mips64Push) \ | 134 V(Mips64Push) \ |
134 V(Mips64StoreToStackSlot) \ | 135 V(Mips64StoreToStackSlot) \ |
135 V(Mips64StackClaim) | 136 V(Mips64StackClaim) |
136 | 137 |
137 | |
138 // Addressing modes represent the "shape" of inputs to an instruction. | 138 // Addressing modes represent the "shape" of inputs to an instruction. |
139 // Many instructions support multiple addressing modes. Addressing modes | 139 // Many instructions support multiple addressing modes. Addressing modes |
140 // are encoded into the InstructionCode of the instruction and tell the | 140 // are encoded into the InstructionCode of the instruction and tell the |
141 // code generator after register allocation which assembler method to call. | 141 // code generator after register allocation which assembler method to call. |
142 // | 142 // |
143 // We use the following local notation for addressing modes: | 143 // We use the following local notation for addressing modes: |
144 // | 144 // |
145 // R = register | 145 // R = register |
146 // O = register or stack slot | 146 // O = register or stack slot |
147 // D = double register | 147 // D = double register |
148 // I = immediate (handle, external, int32) | 148 // I = immediate (handle, external, int32) |
149 // MRI = [register + immediate] | 149 // MRI = [register + immediate] |
150 // MRR = [register + register] | 150 // MRR = [register + register] |
151 // TODO(plind): Add the new r6 address modes. | 151 // TODO(plind): Add the new r6 address modes. |
152 #define TARGET_ADDRESSING_MODE_LIST(V) \ | 152 #define TARGET_ADDRESSING_MODE_LIST(V) \ |
153 V(MRI) /* [%r0 + K] */ \ | 153 V(MRI) /* [%r0 + K] */ \ |
154 V(MRR) /* [%r0 + %r1] */ | 154 V(MRR) /* [%r0 + %r1] */ |
155 | 155 |
156 | 156 |
157 } // namespace compiler | 157 } // namespace compiler |
158 } // namespace internal | 158 } // namespace internal |
159 } // namespace v8 | 159 } // namespace v8 |
160 | 160 |
161 #endif // V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ | 161 #endif // V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ |
OLD | NEW |