diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-04-13 13:10:26 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-04-13 13:10:26 +0800 |
commit | f162dc9a43b209a000d90533176f6321e9192b8d (patch) | |
tree | 5e68d8bfe444f499eb6adfd5e795a009496c7161 | |
parent | a223ffb9d0629e8b498f07dc67f056a7fb95385e (diff) | |
download | mrust-f162dc9a43b209a000d90533176f6321e9192b8d.tar.gz |
Codegen C - Fix precedence error in 64/128 bit ctz
-rw-r--r-- | src/trans/codegen_c.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp index 5d599dd5..165486ef 100644 --- a/src/trans/codegen_c.cpp +++ b/src/trans/codegen_c.cpp @@ -84,7 +84,7 @@ namespace { << "\treturn (v >> 32 != 0 ? __builtin_clz(v>>32) : 32 + __builtin_clz(v));\n" << "}\n" << "static inline uint64_t __builtin_ctz64(uint64_t v) {\n" - << "\treturn (v&0xFFFFFFFF == 0 ? __builtin_ctz(v>>32) + 32 : __builtin_ctz(v));\n" + << "\treturn ((v&0xFFFFFFFF) == 0 ? __builtin_ctz(v>>32) + 32 : __builtin_ctz(v));\n" << "}\n" << "static inline unsigned __int128 __builtin_bswap128(unsigned __int128 v) {\n" << "\tuint64_t lo = __builtin_bswap64((uint64_t)v);\n" @@ -95,7 +95,7 @@ namespace { << "\treturn (v >> 64 != 0 ? __builtin_clz64(v>>64) : 64 + __builtin_clz64(v));\n" << "}\n" << "static inline unsigned __int128 __builtin_ctz128(unsigned __int128 v) {\n" - << "\treturn (v&0xFFFFFFFFFFFFFFFF == 0 ? __builtin_ctz64(v>>64) + 64 : __builtin_ctz64(v));\n" + << "\treturn ((v&0xFFFFFFFFFFFFFFFF) == 0 ? __builtin_ctz64(v>>64) + 64 : __builtin_ctz64(v));\n" << "}\n" << "\n" << "static inline void noop_drop(void *p) {}\n" |