aco: fix one-off error in Operand(uint16_t)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 3d6f67950d ('aco: improve 8/16-bit constants')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6583>
This commit is contained in:
Rhys Perry 2020-09-03 15:41:32 +01:00 committed by Marge Bot
parent f4210df224
commit 0e9425a1b7

View file

@ -449,7 +449,7 @@ public:
if (v <= 64)
setFixed(PhysReg{128u + v});
else if (v >= 0xFFF0) /* [-16 .. -1] */
setFixed(PhysReg{192u + (0xFFFF - v)});
setFixed(PhysReg{(unsigned)(192 - (int16_t)v)});
else if (v == 0x3800) /* 0.5 */
setFixed(PhysReg{240});
else if (v == 0xB800) /* -0.5 */