nir: subgroups instructions for 64bit ballot sizes

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Daniel Schürmann 2018-04-13 15:04:16 +02:00 committed by Bas Nieuwenhuizen
parent 1098c18af3
commit 4d802df3aa
1 changed files with 6 additions and 6 deletions

View File

@ -308,17 +308,17 @@ dst = 0;
for (unsigned bit = 0; bit < 32; bit++)
dst |= ((src0 >> bit) & 1) << (31 - bit);
""")
unop("bit_count", tuint32, """
unop_convert("bit_count", tuint32, tuint, """
dst = 0;
for (unsigned bit = 0; bit < 32; bit++) {
for (unsigned bit = 0; bit < bit_size; bit++) {
if ((src0 >> bit) & 1)
dst++;
}
""")
unop_convert("ufind_msb", tint32, tuint32, """
unop_convert("ufind_msb", tint32, tuint, """
dst = -1;
for (int bit = 31; bit >= 0; bit--) {
for (int bit = bit_size - 1; bit >= 0; bit--) {
if ((src0 >> bit) & 1) {
dst = bit;
break;
@ -340,9 +340,9 @@ for (int bit = 31; bit >= 0; bit--) {
}
""")
unop("find_lsb", tint32, """
unop_convert("find_lsb", tint32, tint, """
dst = -1;
for (unsigned bit = 0; bit < 32; bit++) {
for (unsigned bit = 0; bit < bit_size; bit++) {
if ((src0 >> bit) & 1) {
dst = bit;
break;