aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/c.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-01-30 16:23:31 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-01-30 16:23:31 -0700
commitfb7060d3c2e8ce4d7de5560adf8ec4a26fc5f6e8 (patch)
tree3710af0870e1e1d43f44830d6ff3e662761e93ce /src/codegen/c.zig
parent0c30799d4039c30f95eee29e2c2f8f604e8b9880 (diff)
downloadzig-fb7060d3c2e8ce4d7de5560adf8ec4a26fc5f6e8.tar.gz
zig-fb7060d3c2e8ce4d7de5560adf8ec4a26fc5f6e8.zip
stage2: implement shl_exact and shr_exact
These produce an undefined value when one bits are shifted out. New AIR instruction: shr_exact.
Diffstat (limited to 'src/codegen/c.zig')
-rw-r--r--src/codegen/c.zig2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index 5dc1f26a6b..299581cd48 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -1470,7 +1470,7 @@ fn genBody(f: *Function, body: []const Air.Inst.Index) error{ AnalysisFail, OutO
.bit_and => try airBinOp(f, inst, " & "),
.bit_or => try airBinOp(f, inst, " | "),
.xor => try airBinOp(f, inst, " ^ "),
- .shr => try airBinOp(f, inst, " >> "),
+ .shr, .shr_exact => try airBinOp(f, inst, " >> "),
.shl, .shl_exact => try airBinOp(f, inst, " << "),
.not => try airNot (f, inst),