Fix a number of tests to work correctly with 32/64-wide targets.

Still to be reviewed/fixed: tests/test-*, tests/[cfrs]*
This commit is contained in:
Matt Pharr
2012-05-29 10:16:43 -07:00
parent 5084712a15
commit d86653668e
69 changed files with 249 additions and 158 deletions

View File

@@ -8,11 +8,18 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
RET[programIndex] = popcnt((int)a);
}
export void result(uniform float RET[]) {
uniform int pc[16] = { 1, 1, 2, 1,
2, 2, 3, 1,
2, 2, 3, 2,
3, 3, 4, 1 };
RET[programIndex] = pc[programIndex];
static int manualpc(int v) {
int count = 0;
while (v != 0) {
if (v & 1)
++count;
v >>= 1;
}
return count;
}
export void result(uniform float RET[]) {
assert(programCount <= 64);
RET[programIndex] = manualpc(programIndex+1);
}