Index: src/compiler/x64/instruction-codes-x64.h |
diff --git a/src/compiler/x64/instruction-codes-x64.h b/src/compiler/x64/instruction-codes-x64.h |
index 0ab0b1af0d0331ae3b427ef501938682be8b8acd..336c592aba15704f0c5ff18b0f4476465129b916 100644 |
--- a/src/compiler/x64/instruction-codes-x64.h |
+++ b/src/compiler/x64/instruction-codes-x64.h |
@@ -79,22 +79,30 @@ namespace compiler { |
// |
// We use the following local notation for addressing modes: |
// |
-// R = register |
-// O = register or stack slot |
-// D = double register |
-// I = immediate (handle, external, int32) |
-// MR = [register] |
-// MI = [immediate] |
-// MRN = [register + register * N in {1, 2, 4, 8}] |
-// MRI = [register + immediate] |
-// MRNI = [register + register * N in {1, 2, 4, 8} + immediate] |
+// M = memory operand |
+// R = base register |
+// N = index register * N for N in {1, 2, 4, 8} |
+// I = immediate displacement (int32_t) |
+ |
#define TARGET_ADDRESSING_MODE_LIST(V) \ |
- V(MR) /* [%r1] */ \ |
- V(MRI) /* [%r1 + K] */ \ |
- V(MR1I) /* [%r1 + %r2 + K] */ \ |
+ V(MR) /* [%r1 ] */ \ |
+ V(MRI) /* [%r1 + K] */ \ |
+ V(MR1) /* [%r1 + %r2*1 ] */ \ |
+ V(MR2) /* [%r1 + %r2*2 ] */ \ |
+ V(MR4) /* [%r1 + %r2*4 ] */ \ |
+ V(MR8) /* [%r1 + %r2*8 ] */ \ |
+ V(MR1I) /* [%r1 + %r2*1 + K] */ \ |
V(MR2I) /* [%r1 + %r2*2 + K] */ \ |
- V(MR4I) /* [%r1 + %r2*4 + K] */ \ |
- V(MR8I) /* [%r1 + %r2*8 + K] */ |
+ V(MR4I) /* [%r1 + %r2*3 + K] */ \ |
+ V(MR8I) /* [%r1 + %r2*4 + K] */ \ |
+ V(M1) /* [ %r2*1 ] */ \ |
+ V(M2) /* [ %r2*2 ] */ \ |
+ V(M4) /* [ %r2*4 ] */ \ |
+ V(M8) /* [ %r2*8 ] */ \ |
+ V(M1I) /* [ %r2*1 + K] */ \ |
+ V(M2I) /* [ %r2*2 + K] */ \ |
+ V(M4I) /* [ %r2*4 + K] */ \ |
+ V(M8I) /* [ %r2*8 + K] */ |
} // namespace compiler |
} // namespace internal |