aboutsummaryrefslogtreecommitdiffstats
path: root/backends/simplec/simplec.cc
diff options
context:
space:
mode:
Diffstat (limited to 'backends/simplec/simplec.cc')
-rw-r--r--backends/simplec/simplec.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/backends/simplec/simplec.cc b/backends/simplec/simplec.cc
index 5ea35c564..c8a812748 100644
--- a/backends/simplec/simplec.cc
+++ b/backends/simplec/simplec.cc
@@ -235,7 +235,7 @@ struct SimplecWorker
util_declarations.push_back(stringf(" else"));
util_declarations.push_back(stringf(" sig->%s &= ~(1UL << %d);", value_name.c_str(), word_offset));
#else
- util_declarations.push_back(stringf(" sig->%s = (sig->%s | (uint%d_t)(value & 1) << %d) & ~((uint%d_t)((value & 1) ^ 1) << %d);",
+ util_declarations.push_back(stringf(" sig->%s = (sig->%s & ~((uint%d_t)1 << %d)) | ((uint%d_t)value << %d);",
value_name.c_str(), value_name.c_str(), max_uintsize, word_offset, max_uintsize, word_offset));
#endif