<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:jfonseca@vmware.com" title="José Fonseca <jfonseca@vmware.com>"> <span class="fn">José Fonseca</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - [llvmpipe] lp_test_arit fails on old CPUs"
href="https://bugs.freedesktop.org/show_bug.cgi?id=67672">bug 67672</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>jfonseca@vmware.com
</td>
</tr>
<tr>
<td style="text-align:right;">Assignee</td>
<td>mesa-dev@lists.freedesktop.org
</td>
<td>sroland@vmware.com
</td>
</tr>
<tr>
<td style="text-align:right;">Summary</td>
<td>9.2 git, Test failure in src/gallium/drivers/llvmpipe
</td>
<td>[llvmpipe] lp_test_arit fails on old CPUs
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [llvmpipe] lp_test_arit fails on old CPUs"
href="https://bugs.freedesktop.org/show_bug.cgi?id=67672#c26">Comment # 26</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [llvmpipe] lp_test_arit fails on old CPUs"
href="https://bugs.freedesktop.org/show_bug.cgi?id=67672">bug 67672</a>
from <span class="vcard"><a class="email" href="mailto:jfonseca@vmware.com" title="José Fonseca <jfonseca@vmware.com>"> <span class="fn">José Fonseca</span></a>
</span></b>
<pre>(In reply to Roland Scheidegger from <a href="show_bug.cgi?id=67672#c25">comment #25</a>)
<span class="quote">> Could you try this fix?</span >
It's straighfoward to repro the bug on any modern CPU with
<a href="https://software.intel.com/en-us/articles/intel-software-development-emulator">https://software.intel.com/en-us/articles/intel-software-development-emulator</a> :
$ GALLIUM_DUMP_CPU=1 /var/lib/hudson/tools/lin64/sde/sde64 -p4p --
build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_arit
util_cpu_caps.nr_cpus = 8
util_cpu_caps.x86_cpu_type = 8
util_cpu_caps.cacheline = 64
util_cpu_caps.has_tsc = 1
util_cpu_caps.has_mmx = 1
util_cpu_caps.has_mmx2 = 1
util_cpu_caps.has_sse = 1
util_cpu_caps.has_sse2 = 1
util_cpu_caps.has_sse3 = 1
util_cpu_caps.has_ssse3 = 0
util_cpu_caps.has_sse4_1 = 0
util_cpu_caps.has_sse4_2 = 0
util_cpu_caps.has_avx = 0
util_cpu_caps.has_avx2 = 0
util_cpu_caps.has_f16c = 0
util_cpu_caps.has_popcnt = 0
util_cpu_caps.has_3dnow = 0
util_cpu_caps.has_3dnow_ext = 0
util_cpu_caps.has_xop = 0
util_cpu_caps.has_altivec = 0
util_cpu_caps.has_daz = 1
floor(-0): ref = -1, out = 0, precision = -0.000000 bits, FAIL
ceil(0): ref = 1, out = 0, precision = -0.000000 bits, FAIL
fract(-0): ref = 0.99999994, out = -0, precision = -0.000000 bits, FAIL
And I've verified that Roland's patch fixes it:
$ GALLIUM_DUMP_CPU=1 /var/lib/hudson/tools/lin64/sde/sde64 -p4p --
build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_arit
util_cpu_caps.nr_cpus = 8
util_cpu_caps.x86_cpu_type = 8
util_cpu_caps.cacheline = 64
util_cpu_caps.has_tsc = 1
util_cpu_caps.has_mmx = 1
util_cpu_caps.has_mmx2 = 1
util_cpu_caps.has_sse = 1
util_cpu_caps.has_sse2 = 1
util_cpu_caps.has_sse3 = 1
util_cpu_caps.has_ssse3 = 0
util_cpu_caps.has_sse4_1 = 0
util_cpu_caps.has_sse4_2 = 0
util_cpu_caps.has_avx = 0
util_cpu_caps.has_avx2 = 0
util_cpu_caps.has_f16c = 0
util_cpu_caps.has_popcnt = 0
util_cpu_caps.has_3dnow = 0
util_cpu_caps.has_3dnow_ext = 0
util_cpu_caps.has_xop = 0
util_cpu_caps.has_altivec = 0
util_cpu_caps.has_daz = 1
$
Roland, I just have a few suggestiongs for the patch:
- let's move the FTZ/DAZ code two an helpers
- we should call the helper also on the results
- we should leave the sign bit alone, ie, `val.ui &= 0xff800000` -> `val.ui &=
0x7f800000`.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>