nir: Fix qsort comparator function

`pred` is a pointer, for sufficiently large numbers these
being cast to int were both > 0 regardless of the order
of `data1` and `data2`.

Fixes: 523a28d3fe ("nir: add an instruction set API")

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19539>
This commit is contained in:
Alex Brachet
2022-07-19 19:54:04 +00:00
committed by Marge Bot
parent d31375b521
commit c987a727a7

View File

@@ -212,7 +212,7 @@ cmp_phi_src(const void *data1, const void *data2)
{
nir_phi_src *src1 = *(nir_phi_src **)data1;
nir_phi_src *src2 = *(nir_phi_src **)data2;
return src1->pred - src2->pred;
return src1->pred > src2->pred ? 1 : (src1->pred == src2->pred ? 0 : -1);
}
static uint32_t