Mesa (master): glsl/builtins: Switch comparison functions to just return an expression.

Kenneth Graunke kwg at kemper.freedesktop.org
Sat Sep 18 14:23:49 UTC 2010


Module: Mesa
Branch: master
Commit: dbd24805071332a06828bd92ed0f6e49c897c146
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dbd24805071332a06828bd92ed0f6e49c897c146

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sat Sep 18 15:56:28 2010 +0200

glsl/builtins: Switch comparison functions to just return an expression.

---

 src/glsl/builtin_function.cpp         |  216 ++++++---------------------------
 src/glsl/builtins/ir/greaterThan      |   54 ++-------
 src/glsl/builtins/ir/greaterThanEqual |   54 ++-------
 src/glsl/builtins/ir/lessThan         |   54 ++-------
 src/glsl/builtins/ir/lessThanEqual    |   54 ++-------
 5 files changed, 72 insertions(+), 360 deletions(-)

diff --git a/src/glsl/builtin_function.cpp b/src/glsl/builtin_function.cpp
index e7f0070..c904f46 100644
--- a/src/glsl/builtin_function.cpp
+++ b/src/glsl/builtin_function.cpp
@@ -1044,91 +1044,55 @@ static const char *builtin_greaterThan =
    "     (parameters\n"
    "       (declare (in) vec2 arg0)\n"
    "       (declare (in) vec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) vec3 arg0)\n"
    "       (declare (in) vec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) vec4 arg0)\n"
    "       (declare (in) vec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) ivec2 arg0)\n"
    "       (declare (in) ivec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) ivec3 arg0)\n"
    "       (declare (in) ivec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) ivec4 arg0)\n"
    "       (declare (in) ivec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) uvec2 arg0)\n"
    "       (declare (in) uvec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) uvec3 arg0)\n"
    "       (declare (in) uvec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) uvec4 arg0)\n"
    "       (declare (in) uvec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
    "))\n"
    ""
 ;
@@ -1138,91 +1102,55 @@ static const char *builtin_greaterThanEqual =
    "     (parameters\n"
    "       (declare (in) vec2 arg0)\n"
    "       (declare (in) vec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) vec3 arg0)\n"
    "       (declare (in) vec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) vec4 arg0)\n"
    "       (declare (in) vec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) ivec2 arg0)\n"
    "       (declare (in) ivec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) ivec3 arg0)\n"
    "       (declare (in) ivec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) ivec4 arg0)\n"
    "       (declare (in) ivec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) uvec2 arg0)\n"
    "       (declare (in) uvec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) uvec3 arg0)\n"
    "       (declare (in) uvec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) uvec4 arg0)\n"
    "       (declare (in) uvec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
    "))\n"
    ""
 ;
@@ -1280,91 +1208,55 @@ static const char *builtin_lessThan =
    "     (parameters\n"
    "       (declare (in) vec2 arg0)\n"
    "       (declare (in) vec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) vec3 arg0)\n"
    "       (declare (in) vec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) vec4 arg0)\n"
    "       (declare (in) vec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) ivec2 arg0)\n"
    "       (declare (in) ivec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) ivec3 arg0)\n"
    "       (declare (in) ivec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) ivec4 arg0)\n"
    "       (declare (in) ivec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) uvec2 arg0)\n"
    "       (declare (in) uvec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) uvec3 arg0)\n"
    "       (declare (in) uvec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) uvec4 arg0)\n"
    "       (declare (in) uvec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
    "))\n"
    ""
 ;
@@ -1374,91 +1266,55 @@ static const char *builtin_lessThanEqual =
    "     (parameters\n"
    "       (declare (in) vec2 arg0)\n"
    "       (declare (in) vec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) vec3 arg0)\n"
    "       (declare (in) vec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) vec4 arg0)\n"
    "       (declare (in) vec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) ivec2 arg0)\n"
    "       (declare (in) ivec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) ivec3 arg0)\n"
    "       (declare (in) ivec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) ivec4 arg0)\n"
    "       (declare (in) ivec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) uvec2 arg0)\n"
    "       (declare (in) uvec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) uvec3 arg0)\n"
    "       (declare (in) uvec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) uvec4 arg0)\n"
    "       (declare (in) uvec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
    "))\n"
    ""
 ;
diff --git a/src/glsl/builtins/ir/greaterThan b/src/glsl/builtins/ir/greaterThan
index f548900..18af865 100644
--- a/src/glsl/builtins/ir/greaterThan
+++ b/src/glsl/builtins/ir/greaterThan
@@ -3,89 +3,53 @@
      (parameters
        (declare (in) vec2 arg0)
        (declare (in) vec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) vec3 arg0)
        (declare (in) vec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) vec4 arg0)
        (declare (in) vec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) ivec2 arg0)
        (declare (in) ivec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) ivec3 arg0)
        (declare (in) ivec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) ivec4 arg0)
        (declare (in) ivec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) uvec2 arg0)
        (declare (in) uvec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) uvec3 arg0)
        (declare (in) uvec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) uvec4 arg0)
        (declare (in) uvec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))
 ))
diff --git a/src/glsl/builtins/ir/greaterThanEqual b/src/glsl/builtins/ir/greaterThanEqual
index d003540..6d3bc89 100644
--- a/src/glsl/builtins/ir/greaterThanEqual
+++ b/src/glsl/builtins/ir/greaterThanEqual
@@ -3,89 +3,53 @@
      (parameters
        (declare (in) vec2 arg0)
        (declare (in) vec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) vec3 arg0)
        (declare (in) vec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) vec4 arg0)
        (declare (in) vec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) ivec2 arg0)
        (declare (in) ivec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) ivec3 arg0)
        (declare (in) ivec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) ivec4 arg0)
        (declare (in) ivec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) uvec2 arg0)
        (declare (in) uvec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) uvec3 arg0)
        (declare (in) uvec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) uvec4 arg0)
        (declare (in) uvec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))
 ))
diff --git a/src/glsl/builtins/ir/lessThan b/src/glsl/builtins/ir/lessThan
index e29288a..8401fe9 100644
--- a/src/glsl/builtins/ir/lessThan
+++ b/src/glsl/builtins/ir/lessThan
@@ -3,89 +3,53 @@
      (parameters
        (declare (in) vec2 arg0)
        (declare (in) vec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) vec3 arg0)
        (declare (in) vec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) vec4 arg0)
        (declare (in) vec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) ivec2 arg0)
        (declare (in) ivec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) ivec3 arg0)
        (declare (in) ivec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) ivec4 arg0)
        (declare (in) ivec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) uvec2 arg0)
        (declare (in) uvec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) uvec3 arg0)
        (declare (in) uvec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) uvec4 arg0)
        (declare (in) uvec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))
 ))
diff --git a/src/glsl/builtins/ir/lessThanEqual b/src/glsl/builtins/ir/lessThanEqual
index 669f234..c1cdd3f 100644
--- a/src/glsl/builtins/ir/lessThanEqual
+++ b/src/glsl/builtins/ir/lessThanEqual
@@ -3,89 +3,53 @@
      (parameters
        (declare (in) vec2 arg0)
        (declare (in) vec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) vec3 arg0)
        (declare (in) vec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) vec4 arg0)
        (declare (in) vec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) ivec2 arg0)
        (declare (in) ivec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) ivec3 arg0)
        (declare (in) ivec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) ivec4 arg0)
        (declare (in) ivec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) uvec2 arg0)
        (declare (in) uvec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) uvec3 arg0)
        (declare (in) uvec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) uvec4 arg0)
        (declare (in) uvec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))
 ))




More information about the mesa-commit mailing list