aboutsummaryrefslogtreecommitdiff
path: root/test/bitfield-compound-assign.qbe
diff options
context:
space:
mode:
Diffstat (limited to 'test/bitfield-compound-assign.qbe')
-rw-r--r--test/bitfield-compound-assign.qbe21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/bitfield-compound-assign.qbe b/test/bitfield-compound-assign.qbe
new file mode 100644
index 0000000..829f5f6
--- /dev/null
+++ b/test/bitfield-compound-assign.qbe
@@ -0,0 +1,21 @@
+export
+function $f() {
+@start.1
+@body.2
+ %.1 =l copy $s
+ %.2 =l mul 0, 1
+ %.3 =l add %.1, %.2
+ %.4 =l copy %.3
+ %.5 =w loadsw %.4
+ %.6 =w shl %.5, 19
+ %.7 =w sar %.6, 23
+ %.8 =w add %.7, 3
+ %.9 =w loaduw %.4
+ %.10 =w and %.9, 18446744073709543439
+ %.11 =w shl %.8, 4
+ %.12 =w and %.11, 8176
+ %.13 =w or %.10, %.12
+ storew %.13, %.4
+ ret
+}
+export data $s = align 4 { z 4 }