aboutsummaryrefslogtreecommitdiff
path: root/x86_64-gen.c
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2013-06-14 16:18:16 +0200
committerThomas Preud'homme <robotux@celest.fr>2013-06-14 16:19:51 +0200
commitf6b50558fc46aeb8e981355009871b30e61de841 (patch)
treef0abfaeb0b015c1e33fed103c7279abaf7d22ec5 /x86_64-gen.c
parent807dc7c8de2dcb0365c15b9c2a43ad0c195513dd (diff)
downloadtinycc-f6b50558fc46aeb8e981355009871b30e61de841.tar.gz
tinycc-f6b50558fc46aeb8e981355009871b30e61de841.tar.bz2
Add support for load/store of _Bool value
Add support for loading _Bool value in i386, x86_64 and arm as well as support for storing _Bool value on arm.
Diffstat (limited to 'x86_64-gen.c')
-rw-r--r--x86_64-gen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/x86_64-gen.c b/x86_64-gen.c
index 2788677..d1bf75c 100644
--- a/x86_64-gen.c
+++ b/x86_64-gen.c
@@ -414,7 +414,7 @@ void load(int r, SValue *sv)
r = REG_VALUE(r);
} else if ((ft & VT_BTYPE) == VT_LDOUBLE) {
b = 0xdb, r = 5; /* fldt */
- } else if ((ft & VT_TYPE) == VT_BYTE) {
+ } else if ((ft & VT_TYPE) == VT_BYTE || (ft & VT_TYPE) == VT_BOOL) {
b = 0xbe0f; /* movsbl */
} else if ((ft & VT_TYPE) == (VT_BYTE | VT_UNSIGNED)) {
b = 0xb60f; /* movzbl */