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:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user