On 06/28/2016 04:23 PM, Ilia Mirkin wrote:
On Tue, Jun 28, 2016 at 10:21 AM, Samuel Pitoiset
<samuel.pitoi...@gmail.com> wrote:
On 06/28/2016 04:15 PM, Ilia Mirkin wrote:

Again, what problem was this patch trying to solve?


The problem is that FADD can only emits 19-bits but longIMMD() will return
false because it only checks for the high 12-bits.

I don't know if you saw my messages on IRC but I found some other issues
with longIMMD() and emitIMMD().

Nope, it will emit 19 bits and then the 20th (high aka sign) bit as
well, just to a different location. [And the bottom 12 bits are
guaranteed to be 0.]

What's a specific example that you think it doesn't emit correctly?

I don't have any shaders which hit that issue, but I think it's similar to the fix I did for IMUL32I. The immediate value was 0xf4240 in that specific case, and IMUL emitted 0x74240 instead... because the sign bit was used to emit the NEG modifier.


 -ilia


--
-Samuel
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to