summary refs log tree commit diff stats
path: root/results/classifier/gemma3:27b/instruction/1916269
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/gemma3:27b/instruction/1916269')
-rw-r--r--results/classifier/gemma3:27b/instruction/191626922
1 files changed, 22 insertions, 0 deletions
diff --git a/results/classifier/gemma3:27b/instruction/1916269 b/results/classifier/gemma3:27b/instruction/1916269
new file mode 100644
index 000000000..6c64e5313
--- /dev/null
+++ b/results/classifier/gemma3:27b/instruction/1916269
@@ -0,0 +1,22 @@
+
+
+
+TCG: QEMU incorrectly raises exception on SSE4.2 CRC32 instruction
+
+If I run FreeBSD on QEMU 5.2 with TCG acceleration -cpu Nehalem, I get a FPU exception when executing crc32 (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253617). This is not a problem with the default CPU (or KVM) since that does not support SSE 4.2.
+
+Attaching GDB shows this is triggered in target/i386/tcg/translate.c:3067
+
+    /* simple MMX/SSE operation */
+    if (s->flags & HF_TS_MASK) {
+        gen_exception(s, EXCP07_PREX, pc_start - s->cs_base);
+        return;
+    }
+
+However, according to https://software.intel.com/sites/default/files/m/8/b/8/D9156103.pdf, page 61 the CRC32 instruction works no matter what the value of the TS bit.
+
+The code sequence in question is:
+0xffffffff8105a4de <+126>:	f2 48 0f 38 f1 de	crc32q %rsi,%rbx
+0xffffffff8105a4e4 <+132>:	f2 48 0f 38 f1 ca	crc32q %rdx,%rcx.
+
+This should work even with the FPU disabled.
\ No newline at end of file