aboutsummaryrefslogtreecommitdiff
path: root/test/codegen/memops.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/codegen/memops.go')
-rw-r--r--test/codegen/memops.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/codegen/memops.go b/test/codegen/memops.go
index f6cf9450a1..e5e89c2acc 100644
--- a/test/codegen/memops.go
+++ b/test/codegen/memops.go
@@ -372,3 +372,32 @@ func storeTest(a []bool, v int, i int) {
// amd64: `BTL\t\$1,`,`SETCS\t3\([A-Z]+[0-9]*\)\([A-Z]+[0-9]*\*1\)`
a[3+i] = v&2 != 0
}
+
+func bitOps(p *[12]uint64) {
+ // amd64: `ORQ\t\$8, \(AX\)`
+ p[0] |= 8
+ // amd64: `ORQ\t\$1073741824, 8\(AX\)`
+ p[1] |= 1 << 30
+ // amd64: `BTSQ\t\$31, 16\(AX\)`
+ p[2] |= 1 << 31
+ // amd64: `BTSQ\t\$63, 24\(AX\)`
+ p[3] |= 1 << 63
+
+ // amd64: `ANDQ\t\$-9, 32\(AX\)`
+ p[4] &^= 8
+ // amd64: `ANDQ\t\$-1073741825, 40\(AX\)`
+ p[5] &^= 1 << 30
+ // amd64: `BTRQ\t\$31, 48\(AX\)`
+ p[6] &^= 1 << 31
+ // amd64: `BTRQ\t\$63, 56\(AX\)`
+ p[7] &^= 1 << 63
+
+ // amd64: `XORQ\t\$8, 64\(AX\)`
+ p[8] ^= 8
+ // amd64: `XORQ\t\$1073741824, 72\(AX\)`
+ p[9] ^= 1 << 30
+ // amd64: `BTCQ\t\$31, 80\(AX\)`
+ p[10] ^= 1 << 31
+ // amd64: `BTCQ\t\$63, 88\(AX\)`
+ p[11] ^= 1 << 63
+}