Use OpenCL extinst definitions from SPIRV-Headers
authorDavid Neto <dneto@google.com>
Wed, 1 Mar 2017 20:37:20 +0000 (15:37 -0500)
committerDavid Neto <dneto@google.com>
Thu, 2 Mar 2017 15:37:37 +0000 (10:37 -0500)
Remove the local copy of that file.

source/CMakeLists.txt
source/extinst-1.0.opencl.std.grammar.json [deleted file]

index 0c4e82e..05325d2 100644 (file)
@@ -38,7 +38,7 @@ endmacro(spvtools_core_tables)
 macro(spvtools_vimsyntax VERSION CLVERSION)
   set(GRAMMAR_JSON_FILE "${SPIRV_HEADER_INCLUDE_DIR}/spirv/${VERSION}/spirv.core.grammar.json")
   set(GLSL_GRAMMAR_JSON_FILE "${SPIRV_HEADER_INCLUDE_DIR}/spirv/${VERSION}/extinst.glsl.std.450.grammar.json")
-  set(OPENCL_GRAMMAR_JSON_FILE "${CMAKE_CURRENT_SOURCE_DIR}/extinst-1.0.opencl.std.grammar.json")
+  set(OPENCL_GRAMMAR_JSON_FILE "${SPIRV_HEADER_INCLUDE_DIR}/spirv/${VERSION}/extinst.opencl.std.100.grammar.json")
   set(VIMSYNTAX_FILE "${spirv-tools_BINARY_DIR}/spvasm.vim")
   add_custom_command(OUTPUT ${VIMSYNTAX_FILE}
       COMMAND ${PYTHON_EXECUTABLE} ${VIMSYNTAX_PROCESSING_SCRIPT}
@@ -67,7 +67,7 @@ endmacro(spvtools_glsl_tables)
 
 macro(spvtools_opencl_tables VERSION)
   set(CORE_GRAMMAR_JSON_FILE "${SPIRV_HEADER_INCLUDE_DIR}/spirv/${VERSION}/spirv.core.grammar.json")
-  set(OPENCL_GRAMMAR_JSON_FILE "${CMAKE_CURRENT_SOURCE_DIR}/extinst-${VERSION}.opencl.std.grammar.json")
+  set(OPENCL_GRAMMAR_JSON_FILE "${SPIRV_HEADER_INCLUDE_DIR}/spirv/${VERSION}/extinst.opencl.std.100.grammar.json")
   set(GRAMMAR_INC_FILE "${spirv-tools_BINARY_DIR}/opencl.std.insts-${VERSION}.inc")
   add_custom_command(OUTPUT ${GRAMMAR_INC_FILE}
     COMMAND ${PYTHON_EXECUTABLE} ${GRAMMAR_PROCESSING_SCRIPT}
diff --git a/source/extinst-1.0.opencl.std.grammar.json b/source/extinst-1.0.opencl.std.grammar.json
deleted file mode 100644 (file)
index 3a2ab12..0000000
+++ /dev/null
@@ -1,1277 +0,0 @@
-{
-  "copyright" : [
-    "Copyright (c) 2014-2016 The Khronos Group Inc.",
-    "",
-    "Permission is hereby granted, free of charge, to any person obtaining a copy",
-    "of this software and/or associated documentation files (the \"Materials\"),",
-    "to deal in the Materials without restriction, including without limitation",
-    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
-    "and/or sell copies of the Materials, and to permit persons to whom the",
-    "Materials are furnished to do so, subject to the following conditions:",
-    "",
-    "The above copyright notice and this permission notice shall be included in",
-    "all copies or substantial portions of the Materials.",
-    "",
-    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
-    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
-    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
-    "",
-    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
-    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
-    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
-    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
-    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
-    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
-    "IN THE MATERIALS."
-  ],
-  "instructions" : [
-    {
-      "opname" : "acos",
-      "opcode" : 0,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "acosh",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "acospi",
-      "opcode" : 2,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "asin",
-      "opcode" : 3,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "asinh",
-      "opcode" : 4,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "asinpi",
-      "opcode" : 5,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "atan",
-      "opcode" : 6,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "atan2",
-      "opcode" : 7,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "atanh",
-      "opcode" : 8,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "atanpi",
-      "opcode" : 9,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "atan2pi",
-      "opcode" : 10,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "cbrt",
-      "opcode" : 11,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "ceil",
-      "opcode" : 12,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "copysign",
-      "opcode" : 13,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "cos",
-      "opcode" : 14,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "cosh",
-      "opcode" : 15,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "cospi",
-      "opcode" : 16,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "erfc",
-      "opcode" : 17,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "erf",
-      "opcode" : 18,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "exp",
-      "opcode" : 19,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "exp2",
-      "opcode" : 20,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "exp10",
-      "opcode" : 21,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "expm1",
-      "opcode" : 22,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fabs",
-      "opcode" : 23,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fdim",
-      "opcode" : 24,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "floor",
-      "opcode" : 25,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fma",
-      "opcode" : 26,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fmax",
-      "opcode" : 27,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fmin",
-      "opcode" : 28,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fmod",
-      "opcode" : 29,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fract",
-      "opcode" : 30,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "frexp",
-      "opcode" : 31,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "hypot",
-      "opcode" : 32,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "ilogb",
-      "opcode" : 33,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "ldexp",
-      "opcode" : 34,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "lgamma",
-      "opcode" : 35,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "lgamma_r",
-      "opcode" : 36,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "log",
-      "opcode" : 37,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "log2",
-      "opcode" : 38,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "log10",
-      "opcode" : 39,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "log1p",
-      "opcode" : 40,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "logb",
-      "opcode" : 41,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "mad",
-      "opcode" : 42,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "maxmag",
-      "opcode" : 43,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "minmag",
-      "opcode" : 44,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "modf",
-      "opcode" : 45,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "nan",
-      "opcode" : 46,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "nextafter",
-      "opcode" : 47,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "pow",
-      "opcode" : 48,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "pown",
-      "opcode" : 49,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "powr",
-      "opcode" : 50,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "remainder",
-      "opcode" : 51,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "remquo",
-      "opcode" : 52,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "rint",
-      "opcode" : 53,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "rootn",
-      "opcode" : 54,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "round",
-      "opcode" : 55,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "rsqrt",
-      "opcode" : 56,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "sin",
-      "opcode" : 57,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "sincos",
-      "opcode" : 58,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "sinh",
-      "opcode" : 59,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "sinpi",
-      "opcode" : 60,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "sqrt",
-      "opcode" : 61,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "tan",
-      "opcode" : 62,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "tanh",
-      "opcode" : 63,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "tanpi",
-      "opcode" : 64,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "tgamma",
-      "opcode" : 65,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "trunc",
-      "opcode" : 66,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_cos",
-      "opcode" : 67,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_divide",
-      "opcode" : 68,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_exp",
-      "opcode" : 69,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_exp2",
-      "opcode" : 70,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_exp10",
-      "opcode" : 71,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_log",
-      "opcode" : 72,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_log2",
-      "opcode" : 73,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_log10",
-      "opcode" : 74,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_powr",
-      "opcode" : 75,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_recip",
-      "opcode" : 76,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_rsqrt",
-      "opcode" : 77,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_sin",
-      "opcode" : 78,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_sqrt",
-      "opcode" : 79,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "half_tan",
-      "opcode" : 80,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_cos",
-      "opcode" : 81,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_divide",
-      "opcode" : 82,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_exp",
-      "opcode" : 83,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_exp2",
-      "opcode" : 84,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_exp10",
-      "opcode" : 85,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_log",
-      "opcode" : 86,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_log2",
-      "opcode" : 87,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_log10",
-      "opcode" : 88,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_powr",
-      "opcode" : 89,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_recip",
-      "opcode" : 90,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_rsqrt",
-      "opcode" : 91,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_sin",
-      "opcode" : 92,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_sqrt",
-      "opcode" : 93,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "native_tan",
-      "opcode" : 94,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fclamp",
-      "opcode" : 95,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "degrees",
-      "opcode" : 96,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fmax_common",
-      "opcode" : 97,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fmin_common",
-      "opcode" : 98,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "mix",
-      "opcode" : 99,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "radians",
-      "opcode" : 100,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "step",
-      "opcode" : 101,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "smoothstep",
-      "opcode" : 102,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "sign",
-      "opcode" : 103,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "cross",
-      "opcode" : 104,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "distance",
-      "opcode" : 105,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "length",
-      "opcode" : 106,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "normalize",
-      "opcode" : 107,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fast_distance",
-      "opcode" : 108,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fast_length",
-      "opcode" : 109,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "fast_normalize",
-      "opcode" : 110,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_abs",
-      "opcode" : 141,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_abs_diff",
-      "opcode" : 142,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_add_sat",
-      "opcode" : 143,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_add_sat",
-      "opcode" : 144,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_hadd",
-      "opcode" : 145,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_hadd",
-      "opcode" : 146,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_rhadd",
-      "opcode" : 147,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_rhadd",
-      "opcode" : 148,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_clamp",
-      "opcode" : 149,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_clamp",
-      "opcode" : 150,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "clz",
-      "opcode" : 151,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "ctz",
-      "opcode" : 152,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_mad_hi",
-      "opcode" : 153,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_mad_sat",
-      "opcode" : 154,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_mad_sat",
-      "opcode" : 155,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_max",
-      "opcode" : 156,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_max",
-      "opcode" : 157,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_min",
-      "opcode" : 158,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_min",
-      "opcode" : 159,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_mul_hi",
-      "opcode" : 160,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "rotate",
-      "opcode" : 161,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_sub_sat",
-      "opcode" : 162,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_sub_sat",
-      "opcode" : 163,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_upsample",
-      "opcode" : 164,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_upsample",
-      "opcode" : 165,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "popcount",
-      "opcode" : 166,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_mad24",
-      "opcode" : 167,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_mad24",
-      "opcode" : 168,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "s_mul24",
-      "opcode" : 169,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_mul24",
-      "opcode" : 170,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "vloadn",
-      "opcode" : 171,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "LiteralInteger" }
-      ]
-    },
-    {
-      "opname" : "vstoren",
-      "opcode" : 172,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "vload_half",
-      "opcode" : 173,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "vload_halfn",
-      "opcode" : 174,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "LiteralInteger" }
-      ]
-    },
-    {
-      "opname" : "vstore_half",
-      "opcode" : 175,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "vstore_half_r",
-      "opcode" : 176,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "FPRoundingMode" }
-      ]
-    },
-    {
-      "opname" : "vstore_halfn",
-      "opcode" : 177,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "vstore_halfn_r",
-      "opcode" : 178,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "FPRoundingMode" }
-      ]
-    },
-    {
-      "opname" : "vloada_halfn",
-      "opcode" : 179,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "LiteralInteger" }
-      ]
-    },
-    {
-      "opname" : "vstorea_halfn",
-      "opcode" : 180,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "vstorea_halfn_r",
-      "opcode" : 181,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "FPRoundingMode" }
-      ]
-    },
-    {
-      "opname" : "shuffle",
-      "opcode" : 182,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "shuffle2",
-      "opcode" : 183,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "printf",
-      "opcode" : 184,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "prefetch",
-      "opcode" : 185,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "bitselect",
-      "opcode" : 186,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "select",
-      "opcode" : 187,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_abs",
-      "opcode" : 201,
-      "operands" : [
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_abs_diff",
-      "opcode" : 202,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_mul_hi",
-      "opcode" : 203,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    },
-    {
-      "opname" : "u_mad_hi",
-      "opcode" : 204,
-      "operands" : [
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" },
-        { "kind" : "IdRef" }
-      ]
-    }
-  ]
-}