diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-01-16 22:46:25 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-01-16 22:46:25 +0000 |
commit | 95a407df60aebf754bf086ab87b84bd70c169237 (patch) | |
tree | a21a3e59e50a1a6d78adb410387409a0712bcd4e /compiler/x86_64 | |
parent | 5d18cc11d752573cd00e5434261bbd483e13a9b9 (diff) | |
download | fpc-95a407df60aebf754bf086ab87b84bd70c169237.tar.gz |
* x86: some fixes to enable 8 and 16 bit operations
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@48166 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/x86_64')
-rw-r--r-- | compiler/x86_64/nx64mat.pas | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/x86_64/nx64mat.pas b/compiler/x86_64/nx64mat.pas index 14ce93c21f..74731bccac 100644 --- a/compiler/x86_64/nx64mat.pas +++ b/compiler/x86_64/nx64mat.pas @@ -43,6 +43,7 @@ implementation uses globtype,constexp, + cutils, aasmdata,defutil, pass_2, ncon, @@ -70,7 +71,7 @@ implementation op:=OP_SHR; opsize:=def_cgsize(resultdef); - mask:=resultdef.size*8-1; + mask:=max(resultdef.size,4)*8-1; { load left operators in a register } if not(left.location.loc in [LOC_CREGISTER,LOC_REGISTER]) or |