Displaying 3 results from an estimated 3 matches for "yzw".
Did you mean:
yz
2015 Dec 22
0
Translating tests/trivial/compute.c gallium tests to opencl (input / help wanted)
...test_system_values(struct context *ctx)
" UADD TEMP[0].xy, TEMP[0].xyxy, TEMP[0].zwzw\n"
" UADD TEMP[0].x, TEMP[0].xxxx, TEMP[0].yyyy\n"
" UMUL TEMP[0].x, TEMP[0], IMM[0]\n"
- " STORE RES[0].xyzw, TEMP[0], SV[0]\n"
+ " LOAD TEMP[1].x, RINPUT, IMM[2]\n"
+ " UADD TEMP[0].x, TEMP[0], TEMP[1]\n"
+ " STORE RGLOBAL.xyzw, TEMP[0], SV[0]\n"
" UADD TEMP[0].x, TEMP[0], IMM[1]\n"
-...
2009 May 08
0
[LLVMdev] Question on tablegen
...a 32bit integer mask and an inverted mask.
So I have dst, src0, src1, imm1, imm2
And I have my asm look similar to:
Add dst, src0.imm1, src1.imm2 and then in the asm printer I intercept vector_shuffle and I convert the integer to x,y,z,w, 0, 1 or _.
For example if the mask is to take x from s1 and yzw from s2, I would generate 0x1000 and 0x0234.
So my result looks like
Iadd d0, s1.x000, s2.0yzw
This allows you to do your vector shuffle in a single instruction.
It's not the cleanest approach but it works for me and I can encode up to 8 swizzle per immediate so works on vector sizes up to 8...
2009 May 08
2
[LLVMdev] Question on tablegen
Dan,
Thanks a lot. Using a modifier in the assembly string works for this
case. I am trying to solve a related problem. I am trying to print out
a set of "mov" ops for the vector_shuffle node. Since the source of
the "mov" is from one of the sources to vector_shuffle, depending on
the mask, I am not sure what assembly string to emit. For example, if
I have
d <-