CELL: add codegen for logic op, color mask
authorRobert Ellison <papillo@tungstengraphics.com>
Fri, 19 Sep 2008 07:55:00 +0000 (01:55 -0600)
committerRobert Ellison <papillo@tungstengraphics.com>
Fri, 19 Sep 2008 07:55:00 +0000 (01:55 -0600)
commita57fbe53dcb54694da9c9b4be1533c9d800079d2
tree108e10e47981579d1b607b2d61b57acafc2b4561
parent984a7c4e9c42cf8ddfcff5b880b522a6dd58bce2
CELL: add codegen for logic op, color mask

- rtasm_ppc_spe.c, rtasm_ppc_spe.h: added a new macro function
  "spe_load_uint" for loading and splatting unsigned integers
  in a register; it will use "ila" for values 18 bits or less,
  "ilh" for word values that are symmetric across halfwords,
  "ilhu" for values that have zeroes in their bottom halfwords,
  or "ilhu" followed by "iohl" for general 32-bit values.

  Of the 15 color masks of interest, 4 are 18 bits or less,
  2 are symmetric across halfwords, 3 are zero in the bottom
  halfword, and 6 require two instructions to load.

- cell_gen_fragment.c: added full codegen for logic op and
  color mask.
src/gallium/auxiliary/rtasm/rtasm_ppc_spe.c
src/gallium/auxiliary/rtasm/rtasm_ppc_spe.h
src/gallium/drivers/cell/ppu/cell_gen_fragment.c