[Mesa-dev] [PATCH 2/2] gm107/ir: make use of IADD32I for all immediates

Ilia Mirkin imirkin at alum.mit.edu
Sun Jun 26 21:55:09 UTC 2016


On Sun, Jun 26, 2016 at 5:49 PM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
>
>
> On 06/26/2016 11:46 PM, Ilia Mirkin wrote:
>>
>> We don't appear to handle src(0) having a neg modifier in the
>> immediate case. Does the insnCanLoad logic account for that? (Perhaps
>> the bit is there and we just forgot about it?)
>
>
> I don't see any neg modifier in envydis for IADD32I.

Well, isModSupported() will happily generate such instructions:

      case OP_ADD:
         if (mod.abs())
            return false;
         if (insn->src(s ? 0 : 1).mod.neg())
            return false;
         break;

and insnCanLoad:

         case TYPE_S32:
         case TYPE_U32:
            // with u32, 0xfffff counts as 0xffffffff as well
            if (reg.data.s32 > 0x7ffff || reg.data.s32 < -0x80000)
               return false;
            break;


More information about the mesa-dev mailing list