summary refs log tree commit diff stats
path: root/results/classifier/deepseek-2-tmp/output/assembly/1728325
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/deepseek-2-tmp/output/assembly/1728325')
-rw-r--r--results/classifier/deepseek-2-tmp/output/assembly/172832561
1 files changed, 0 insertions, 61 deletions
diff --git a/results/classifier/deepseek-2-tmp/output/assembly/1728325 b/results/classifier/deepseek-2-tmp/output/assembly/1728325
deleted file mode 100644
index 9caa818a..00000000
--- a/results/classifier/deepseek-2-tmp/output/assembly/1728325
+++ /dev/null
@@ -1,61 +0,0 @@
-
-POWER8: Wrong behaviour with float-to-int punning
-
-Building a reduced test program with 'gcc -O2 -fno-inline -mcpu=power8' produces wrong results at runtime. I don't think gcc is at fault here.
-
----
-#include <stdio.h>
-
-int getWord(const float x)
-{
-  return *(int*)&x;
-}
-
-void main()
-{
-    int foo = getWord(+123.456f);
-    int bar = getWord(-123.456f);
-
-    printf("%d\n", foo);
-    printf("%d\n", bar);
-    return;
-}
----
-
-This prints:
----
-0
-0
----
-
-Compiling with 'gcc -O2 -fno-inline -mcpu=power7' and you instead get the expected result:
----
-1123477881
--1024005767
----
-
-
-The different between the two programs is:
-
---- power7.s
-+++ power8.s
-@@ -6,9 +6,9 @@
- 	.globl getWord
- 	.type	getWord, @function
- getWord:
--	stfs 1,-16(1)
--	ori 2,2,0
--	lwa 3,-16(1)
-+	xscvdpspn 0,1
-+	mfvsrwz 3,0
-+	extsw 3,3
- 	blr
- 	.long 0
- 	.byte 0,0,0,0,0,0,0,0
-        .size   getWord,.-getWord
-
-
-Seems like qemu doesn't handle xscvdpspn/mfvsrwz correctly.
-
-https://github.com/qemu/qemu/commit/7ee19fb9d682689d36c849576c808cf92e3bae40
-https://github.com/qemu/qemu/commit/f5c0f7f981333da59cc35c3210d05ec1775c97c1
\ No newline at end of file