nir/opt_move_discards_to_top: use semantic

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33410>
diff --git a/src/compiler/nir/nir_opt_move_discards_to_top.c b/src/compiler/nir/nir_opt_move_discards_to_top.c
index f28c2ba..ea046f4 100644
--- a/src/compiler/nir/nir_opt_move_discards_to_top.c
+++ b/src/compiler/nir/nir_opt_move_discards_to_top.c
@@ -160,20 +160,6 @@
       return can_move_after_demote | can_move_after_terminate;
 
    switch (intrin->intrinsic) {
-   case nir_intrinsic_quad_broadcast:
-   case nir_intrinsic_quad_swap_horizontal:
-   case nir_intrinsic_quad_swap_vertical:
-   case nir_intrinsic_quad_swap_diagonal:
-   case nir_intrinsic_quad_vote_all:
-   case nir_intrinsic_quad_vote_any:
-   case nir_intrinsic_quad_swizzle_amd:
-   case nir_intrinsic_ddx:
-   case nir_intrinsic_ddx_fine:
-   case nir_intrinsic_ddx_coarse:
-   case nir_intrinsic_ddy:
-   case nir_intrinsic_ddy_fine:
-   case nir_intrinsic_ddy_coarse:
-      return can_move_after_demote;
    case nir_intrinsic_is_helper_invocation:
    case nir_intrinsic_load_helper_invocation:
       return can_move_after_terminate;
@@ -223,6 +209,9 @@
       break;
    }
 
+   if (nir_intrinsic_has_semantic(intrin, NIR_INTRINSIC_QUADGROUP))
+      return can_move_after_demote;
+
    return 0;
 }