Skip to content
  • Emma Anholt's avatar
    broadcom: Add V3D 3.3 QPU instruction pack, unpack, and disasm. · 05c7d971
    Emma Anholt authored
    Unlike VC4, I've defined an unpacked instruction format with pack/unpack
    functions to convert to 64-bit encoded instructions.  This will let us
    incrementally put together our instructions and validate them in a more
    natural way than the QPU_GET_FIELD/QPU_SET_FIELD used to.
    
    The pack/unpack unfortuantely are written by hand.  While I could define
    genxml for parts of it, there are many special cases (like operand order
    of commutative binops choosing which binop is being performed!) and it
    probably wouldn't come out much cleaner.
    
    The disasm unit test ensures that we have the same assembly format as
    Broadcom's internal tools, other than whitespace changes.
    
    v2: Fix automake variable redefinition complaints, add test to .gitignore
    05c7d971