summaryrefslogtreecommitdiff
path: root/compiler/cgutils.pas
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2006-08-19 11:14:43 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2006-08-19 11:14:43 +0000
commit0ff62b3a3caf5e53d903e32438757987c9698089 (patch)
treecebed9021825b607b8247f6759c5a312ba6fd444 /compiler/cgutils.pas
parent7de245cc83716f9a95070788b4d5d3c077207ea2 (diff)
downloadfpc-0ff62b3a3caf5e53d903e32438757987c9698089.tar.gz
* code generator support for subsetreferences (memory locations which
are not a multiple of 8 bits, nor necessarily aligned at a multiple of 8 bits). Supports both constant and variable bit indices. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@4443 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/cgutils.pas')
-rw-r--r--compiler/cgutils.pas9
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/cgutils.pas b/compiler/cgutils.pas
index 192c9e7e34..7c3a8ca300 100644
--- a/compiler/cgutils.pas
+++ b/compiler/cgutils.pas
@@ -67,6 +67,12 @@ unit cgutils;
subsetregsize: tcgsize;
end;
+ tsubsetreference = record
+ ref: treference;
+ bitindexreg: tregister;
+ startbit, bitlen: byte;
+ end;
+
tlocation = record
loc : TCGLoc;
size : TCGSize;
@@ -103,6 +109,9 @@ unit cgutils;
LOC_CSUBSETREG : (
sreg: tsubsetregister;
);
+ LOC_SUBSETREF : (
+ sref: tsubsetreference;
+ )
end;