<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Some Assembly Required</title>
	<atom:link href="http://assemblyrequired.crashworks.org/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://assemblyrequired.crashworks.org</link>
	<description>Technical Notes On Game Development</description>
	<lastBuildDate>Wed, 28 Dec 2011 10:00:34 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Comment on December Reading List by Gregory</title>
		<link>http://assemblyrequired.crashworks.org/2008/12/06/december-reading-list/comment-page-1/#comment-6548</link>
		<dc:creator>Gregory</dc:creator>
		<pubDate>Wed, 28 Dec 2011 10:00:34 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=39#comment-6548</guid>
		<description>It looks like you switched the 2 Bruce Dawson&#039;s presentations.

He discusses lock-free pipe in &quot;New CPU Features in the XDK&quot; and discusses faster asserts in &quot;Xbox 360 Compiler and PgoLite Update&quot;.</description>
		<content:encoded><![CDATA[<p>It looks like you switched the 2 Bruce Dawson&#8217;s presentations.</p>
<p>He discusses lock-free pipe in &#8220;New CPU Features in the XDK&#8221; and discusses faster asserts in &#8220;Xbox 360 Compiler and PgoLite Update&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Down With fcmp: Conditional Moves For Branchless Math by Matthew W. S. Bell</title>
		<link>http://assemblyrequired.crashworks.org/2009/01/04/fcmp-conditional-moves-for-branchless-math/comment-page-1/#comment-6208</link>
		<dc:creator>Matthew W. S. Bell</dc:creator>
		<pubDate>Tue, 15 Nov 2011 03:07:12 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=50#comment-6208</guid>
		<description>Further to Mat Hendry, the transformation a / 2 &lt; b + 3 ? a - 2b - 6 &lt; 0 assumes that the variables are reals, but they are floats, and exceptional cases need to be considered.</description>
		<content:encoded><![CDATA[<p>Further to Mat Hendry, the transformation a / 2 &lt; b + 3 ? a &#8211; 2b &#8211; 6 &lt; 0 assumes that the variables are reals, but they are floats, and exceptional cases need to be considered.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Timing square root by Wrong On The Internet! &#124; Rambling Llamas</title>
		<link>http://assemblyrequired.crashworks.org/2009/10/16/timing-square-root/comment-page-1/#comment-6173</link>
		<dc:creator>Wrong On The Internet! &#124; Rambling Llamas</dc:creator>
		<pubDate>Thu, 03 Nov 2011 21:58:03 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=234#comment-6173</guid>
		<description>[...] this guy went into it in much more thorough detail if you&#8217;re interested!)   This entry was posted in [...]</description>
		<content:encoded><![CDATA[<p>[...] this guy went into it in much more thorough detail if you&#8217;re interested!)   This entry was posted in [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Timing square root by Bruce Dawson</title>
		<link>http://assemblyrequired.crashworks.org/2009/10/16/timing-square-root/comment-page-1/#comment-6070</link>
		<dc:creator>Bruce Dawson</dc:creator>
		<pubDate>Sun, 23 Oct 2011 05:22:12 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=234#comment-6070</guid>
		<description>One part of the reason that the x87 square root is slower is that it is probably calculating square root to double precision. The x87 hardware defaults to calculating square root to 80-bit precision, the C run-time changes the setting so it calculates it to 64-bit precision, but if you change it to calculate it to 32-bit precision (controlfp) then it will be a bit faster. Square root and float-divide timings on x87 are both affected by the selected precision. I don&#039;t think any other operations are.

Of course, changing a global (well, global per-thread) setting in order to get a local optimization is pretty crazy, so your points stand.</description>
		<content:encoded><![CDATA[<p>One part of the reason that the x87 square root is slower is that it is probably calculating square root to double precision. The x87 hardware defaults to calculating square root to 80-bit precision, the C run-time changes the setting so it calculates it to 64-bit precision, but if you change it to calculate it to 32-bit precision (controlfp) then it will be a bit faster. Square root and float-divide timings on x87 are both affected by the selected precision. I don&#8217;t think any other operations are.</p>
<p>Of course, changing a global (well, global per-thread) setting in order to get a local optimization is pretty crazy, so your points stand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Annotated slides for GDC11 &#8220;Forensic Debugging&#8221; by Shawn</title>
		<link>http://assemblyrequired.crashworks.org/2011/03/08/annotated-slides-for-gdc11-forensic-debugging/comment-page-1/#comment-6038</link>
		<dc:creator>Shawn</dc:creator>
		<pubDate>Wed, 19 Oct 2011 21:46:35 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=400#comment-6038</guid>
		<description>I read your GDC presentation, went to your blog and saw that you are considering opening up crash collection data to steam-based games.  I was wondering how far along you are and if it’s also available on the PS3?  

Also, do you internally use your breakpad method for consoles or your other approach, hand-rolled on the ps3 and using kd on 360?</description>
		<content:encoded><![CDATA[<p>I read your GDC presentation, went to your blog and saw that you are considering opening up crash collection data to steam-based games.  I was wondering how far along you are and if it’s also available on the PS3?  </p>
<p>Also, do you internally use your breakpad method for consoles or your other approach, hand-rolled on the ps3 and using kd on 360?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Square Roots in vivo: normalizing vectors by Guillaume</title>
		<link>http://assemblyrequired.crashworks.org/2009/10/20/square-roots-in-vivo-normalizing-vectors/comment-page-1/#comment-5832</link>
		<dc:creator>Guillaume</dc:creator>
		<pubDate>Thu, 22 Sep 2011 00:24:42 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=329#comment-5832</guid>
		<description>Just a point about your dot product calculation, instead of using shuffle and add, you can sort of combine them all together if you&#039;re a bit clever. Here&#039;s some code from my raytracer:

This is the dot product so obviously for sqrt v1a and v2a would both be the same thing.

	__m128 res = _mm_mul_ps(v1a, v2a);
	res = _mm_hadd_ps(res, res);
	res = _mm_hadd_ps(res, res);
	return res.m128_f32[0];</description>
		<content:encoded><![CDATA[<p>Just a point about your dot product calculation, instead of using shuffle and add, you can sort of combine them all together if you&#8217;re a bit clever. Here&#8217;s some code from my raytracer:</p>
<p>This is the dot product so obviously for sqrt v1a and v2a would both be the same thing.</p>
<p>	__m128 res = _mm_mul_ps(v1a, v2a);<br />
	res = _mm_hadd_ps(res, res);<br />
	res = _mm_hadd_ps(res, res);<br />
	return res.m128_f32[0];</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Why is it called a &#8220;core dump&#8221; anyway? by Mike Dunlavey</title>
		<link>http://assemblyrequired.crashworks.org/2011/03/11/why-is-it-called-a-core-dump-anyway/comment-page-1/#comment-5594</link>
		<dc:creator>Mike Dunlavey</dc:creator>
		<pubDate>Fri, 24 Jun 2011 15:50:35 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=415#comment-5594</guid>
		<description>Hi Elan,

When I started programming, core memory was all there was. I even had to reboot using an actual bootstrap loader. And, on the Apollo guidance computer, there was a kind of read-only memory called &quot;rope&quot; or &quot;braid&quot;.

OK, enough bragging :-)

If you want to colaborate on something about performance tuning, as I said, that would be fun.
I wrote a book of which that was a part (Building Better Applications - lousy title), and a DDJ article (11/93). The book didn&#039;t sell much, but now it seems to be a collector&#039;s item. I think on stackoverflow I&#039;ve somewhat refined the explanation. Currently I&#039;m trying to get the book up on Google, but it&#039;s in limbo.

Take care,
Mike</description>
		<content:encoded><![CDATA[<p>Hi Elan,</p>
<p>When I started programming, core memory was all there was. I even had to reboot using an actual bootstrap loader. And, on the Apollo guidance computer, there was a kind of read-only memory called &#8220;rope&#8221; or &#8220;braid&#8221;.</p>
<p>OK, enough bragging <img src='http://assemblyrequired.crashworks.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>If you want to colaborate on something about performance tuning, as I said, that would be fun.<br />
I wrote a book of which that was a part (Building Better Applications &#8211; lousy title), and a DDJ article (11/93). The book didn&#8217;t sell much, but now it seems to be a collector&#8217;s item. I think on stackoverflow I&#8217;ve somewhat refined the explanation. Currently I&#8217;m trying to get the book up on Google, but it&#8217;s in limbo.</p>
<p>Take care,<br />
Mike</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Square Roots in vivo: normalizing vectors by Defining an SIMD Interface &#187; #AltDevBlogADay</title>
		<link>http://assemblyrequired.crashworks.org/2009/10/20/square-roots-in-vivo-normalizing-vectors/comment-page-1/#comment-5522</link>
		<dc:creator>Defining an SIMD Interface &#187; #AltDevBlogADay</dc:creator>
		<pubDate>Fri, 29 Apr 2011 08:27:09 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=329#comment-5522</guid>
		<description>[...] Square Roots in vivo: normalizing vectors [...]</description>
		<content:encoded><![CDATA[<p>[...] Square Roots in vivo: normalizing vectors [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Preliminary GDC slides posted by Elan</title>
		<link>http://assemblyrequired.crashworks.org/2011/03/05/preliminary-gdc-slides-posted/comment-page-1/#comment-5370</link>
		<dc:creator>Elan</dc:creator>
		<pubDate>Tue, 22 Mar 2011 10:35:41 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=384#comment-5370</guid>
		<description>@TiTi: I took down the preliminary slides when I posted the fully annotated deck a few days later -- I&#039;ve fixed the link here so it goes to the right place too.</description>
		<content:encoded><![CDATA[<p>@TiTi: I took down the preliminary slides when I posted the fully annotated deck a few days later &#8212; I&#8217;ve fixed the link here so it goes to the right place too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Preliminary GDC slides posted by TiTi</title>
		<link>http://assemblyrequired.crashworks.org/2011/03/05/preliminary-gdc-slides-posted/comment-page-1/#comment-5368</link>
		<dc:creator>TiTi</dc:creator>
		<pubDate>Mon, 21 Mar 2011 21:39:58 +0000</pubDate>
		<guid isPermaLink="false">http://assemblyrequired.crashworks.org/?p=384#comment-5368</guid>
		<description>404 :-(</description>
		<content:encoded><![CDATA[<p>404 <img src='http://assemblyrequired.crashworks.org/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

