summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-10-23 16:24:02 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-10-23 16:24:02 -0700
commitbcc3bb975cf03b38e1eafe1fb47403237d1b96b3 (patch)
treee8025fba6ffb2632d5d6f22951529cadec766987
parent019a98dab1f8e8b877ee5a2f3288b9baaa4793ee (diff)
downloadnasm-bcc3bb975cf03b38e1eafe1fb47403237d1b96b3.tar.gz
test/crc32.asm: test the CRC32 instruction
Test for the CRC32 instruction. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--test/crc32.asm37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/crc32.asm b/test/crc32.asm
new file mode 100644
index 00000000..c1ddb296
--- /dev/null
+++ b/test/crc32.asm
@@ -0,0 +1,37 @@
+;Testname=test; Arguments=-fbin -ocrc32.bin; Files=stdout stderr crc32.bin
+
+ bits 16
+
+ crc32 eax,cl
+ crc32 eax,byte [di]
+ crc32 eax,cx
+ crc32 eax,word [di]
+ crc32 eax,ecx
+ crc32 eax,dword [di]
+
+ bits 32
+ align 16
+
+ crc32 eax,cl
+ crc32 eax,byte [edi]
+ crc32 eax,cx
+ crc32 eax,word [edi]
+ crc32 eax,ecx
+ crc32 eax,dword [edi]
+
+ bits 64
+ align 16
+
+ crc32 eax,cl
+ crc32 eax,byte [rdi]
+ crc32 eax,r9b
+ crc32 eax,cx
+ crc32 eax,word [rdi]
+ crc32 eax,ecx
+ crc32 eax,dword [rdi]
+ crc32 rax,cl
+ crc32 rax,byte [rdi]
+ crc32 rax,r9b
+ crc32 rax,rcx
+ crc32 rax,qword [rdi]
+ crc32 rax,r9