aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite')
-rw-r--r--sim/testsuite/sim/aarch64/ChangeLog4
-rw-r--r--sim/testsuite/sim/aarch64/cnt.s33
2 files changed, 37 insertions, 0 deletions
diff --git a/sim/testsuite/sim/aarch64/ChangeLog b/sim/testsuite/sim/aarch64/ChangeLog
index f737e9d..fcd5873 100644
--- a/sim/testsuite/sim/aarch64/ChangeLog
+++ b/sim/testsuite/sim/aarch64/ChangeLog
@@ -1,3 +1,7 @@
+2017-02-25 Jim Wilson <jim.wilson@linaro.org>
+
+ * cnt.s: New.
+
2017-02-19 Jim Wilson <jim.wilson@linaro.org>
* bit.s: Change cmp immediates to account for addv bug fix.
diff --git a/sim/testsuite/sim/aarch64/cnt.s b/sim/testsuite/sim/aarch64/cnt.s
new file mode 100644
index 0000000..b4be2e3
--- /dev/null
+++ b/sim/testsuite/sim/aarch64/cnt.s
@@ -0,0 +1,33 @@
+# mach: aarch64
+
+# Check the popcount instruction: cnt.
+
+.include "testutils.inc"
+
+ .data
+ .align 4
+input:
+ .word 0x04030201
+ .word 0x0f070605
+ .word 0x44332211
+ .word 0xff776655
+
+ start
+ adrp x0, input
+ ldr q0, [x0, #:lo12:input]
+
+ cnt v1.8b, v0.8b
+ addv b2, v1.8b
+ mov x1, v2.d[0]
+ cmp x1, #16
+ bne .Lfailure
+
+ cnt v1.16b, v0.16b
+ addv b2, v1.16b
+ mov x1, v2.d[0]
+ cmp x1, #48
+ bne .Lfailure
+
+ pass
+.Lfailure:
+ fail