From 23985879800b7c43b1fb76396ef5e2d023ba6035 Mon Sep 17 00:00:00 2001 From: Stuart Brady <38249689+StuartDBrady@users.noreply.github.com> Date: Tue, 19 Nov 2019 09:05:28 +0000 Subject: [PATCH] Reformat SPIR-V assembly and fix validation errors (#472) * Reformat SPIR-V assembly using spirv-dis Signed-off-by: Stuart Brady * Fix duplicate non-aggregate type decls in SPIR-V as reported by spirv-val Signed-off-by: Stuart Brady * Reposition OpExtensions correctly in SPIR-V as reported by spirv-val Signed-off-by: Stuart Brady * Reposition OpVariables correctly in SPIR-V as reported by spirv-val Signed-off-by: Stuart Brady * Add missing OpTypeImage access qualifiers in SPIR-V as reported by spirv-val Signed-off-by: Stuart Brady * Remove same-width OpSConverts in SPIR-V as reported by spirv-val Signed-off-by: Stuart Brady * Replace -ILPath with --spirv-binaries-path in README Signed-off-by: Stuart Brady --- test_conformance/spirv_new/README.txt | 6 +- .../spirv_asm/atomic_dec_global.spvasm32 | 37 +++++++ .../spirv_asm/atomic_dec_global.spvasm64 | 42 ++++++++ .../spirv_asm/atomic_inc_global.spvasm32 | 37 +++++++ .../spirv_asm/atomic_inc_global.spvasm64 | 42 ++++++++ .../spirv_asm/branch_conditional.spvasm32 | 57 +++++++++++ .../spirv_asm/branch_conditional.spvasm64 | 63 ++++++++++++ .../branch_conditional_weighted.spvasm32 | 57 +++++++++++ .../branch_conditional_weighted.spvasm64 | 63 ++++++++++++ .../spirv_asm/branch_simple.spvasm32 | 36 +++++++ .../spirv_asm/branch_simple.spvasm64 | 42 ++++++++ .../composite_construct_int4.spvasm32 | 37 +++++++ .../composite_construct_int4.spvasm64 | 42 ++++++++ .../composite_construct_struct.spvasm32 | 43 ++++++++ .../composite_construct_struct.spvasm64 | 48 +++++++++ .../spirv_asm/constant_char_simple.spvasm32 | 34 +++++++ .../spirv_asm/constant_char_simple.spvasm64 | 38 +++++++ .../spirv_asm/constant_double_simple.spvasm32 | 34 +++++++ .../spirv_asm/constant_double_simple.spvasm64 | 38 +++++++ .../spirv_asm/constant_false_simple.spvasm32 | 36 +++++++ .../spirv_asm/constant_false_simple.spvasm64 | 41 ++++++++ .../spirv_asm/constant_float_simple.spvasm32 | 33 +++++++ .../spirv_asm/constant_float_simple.spvasm64 | 37 +++++++ .../spirv_asm/constant_half_simple.spvasm32 | 36 +++++++ .../spirv_asm/constant_half_simple.spvasm64 | 40 ++++++++ .../spirv_asm/constant_int3_simple.spvasm32 | 35 +++++++ .../spirv_asm/constant_int3_simple.spvasm64 | 41 ++++++++ .../spirv_asm/constant_int4_simple.spvasm32 | 37 +++++++ .../spirv_asm/constant_int4_simple.spvasm64 | 42 ++++++++ .../spirv_asm/constant_int_simple.spvasm32 | 32 ++++++ .../spirv_asm/constant_int_simple.spvasm64 | 37 +++++++ .../spirv_asm/constant_long_simple.spvasm32 | 34 +++++++ .../spirv_asm/constant_long_simple.spvasm64 | 36 +++++++ .../spirv_asm/constant_short_simple.spvasm32 | 34 +++++++ .../spirv_asm/constant_short_simple.spvasm64 | 38 +++++++ .../constant_struct_int_char_simple.spvasm32 | 37 +++++++ .../constant_struct_int_char_simple.spvasm64 | 42 ++++++++ .../constant_struct_int_float_simple.spvasm32 | 36 +++++++ .../constant_struct_int_float_simple.spvasm64 | 41 ++++++++ .../constant_struct_struct_simple.spvasm32 | 43 ++++++++ .../constant_struct_struct_simple.spvasm64 | 48 +++++++++ .../spirv_asm/constant_true_simple.spvasm32 | 36 +++++++ .../spirv_asm/constant_true_simple.spvasm64 | 41 ++++++++ .../spirv_asm/constant_uchar_simple.spvasm32 | 34 +++++++ .../spirv_asm/constant_uchar_simple.spvasm64 | 38 +++++++ .../spirv_asm/constant_uint_simple.spvasm32 | 32 ++++++ .../spirv_asm/constant_uint_simple.spvasm64 | 37 +++++++ .../spirv_asm/constant_ulong_simple.spvasm32 | 34 +++++++ .../spirv_asm/constant_ulong_simple.spvasm64 | 36 +++++++ .../spirv_asm/constant_ushort_simple.spvasm32 | 34 +++++++ .../spirv_asm/constant_ushort_simple.spvasm64 | 38 +++++++ .../spirv_asm/copy_char_simple.spvasm32 | 35 +++++++ .../spirv_asm/copy_char_simple.spvasm64 | 39 ++++++++ .../spirv_asm/copy_double_simple.spvasm32 | 35 +++++++ .../spirv_asm/copy_double_simple.spvasm64 | 39 ++++++++ .../spirv_asm/copy_float_simple.spvasm32 | 34 +++++++ .../spirv_asm/copy_float_simple.spvasm64 | 38 +++++++ .../spirv_asm/copy_half_simple.spvasm32 | 37 +++++++ .../spirv_asm/copy_half_simple.spvasm64 | 41 ++++++++ .../spirv_asm/copy_int3_simple.spvasm32 | 36 +++++++ .../spirv_asm/copy_int3_simple.spvasm64 | 42 ++++++++ .../spirv_asm/copy_int4_simple.spvasm32 | 38 +++++++ .../spirv_asm/copy_int4_simple.spvasm64 | 43 ++++++++ .../spirv_asm/copy_int_simple.spvasm32 | 33 +++++++ .../spirv_asm/copy_int_simple.spvasm64 | 38 +++++++ .../spirv_asm/copy_long_simple.spvasm32 | 35 +++++++ .../spirv_asm/copy_long_simple.spvasm64 | 37 +++++++ .../spirv_asm/copy_short_simple.spvasm32 | 35 +++++++ .../spirv_asm/copy_short_simple.spvasm64 | 39 ++++++++ .../copy_struct_int_char_simple.spvasm32 | 38 +++++++ .../copy_struct_int_char_simple.spvasm64 | 43 ++++++++ .../copy_struct_int_float_simple.spvasm32 | 37 +++++++ .../copy_struct_int_float_simple.spvasm64 | 42 ++++++++ .../copy_struct_struct_simple.spvasm32 | 44 +++++++++ .../copy_struct_struct_simple.spvasm64 | 49 +++++++++ .../spirv_asm/copy_uchar_simple.spvasm32 | 35 +++++++ .../spirv_asm/copy_uchar_simple.spvasm64 | 39 ++++++++ .../spirv_asm/copy_uint_simple.spvasm32 | 33 +++++++ .../spirv_asm/copy_uint_simple.spvasm64 | 38 +++++++ .../spirv_asm/copy_ulong_simple.spvasm32 | 35 +++++++ .../spirv_asm/copy_ulong_simple.spvasm64 | 37 +++++++ .../spirv_asm/copy_ushort_simple.spvasm32 | 35 +++++++ .../spirv_asm/copy_ushort_simple.spvasm64 | 39 ++++++++ .../spirv_asm/decorate_aliased.spvasm32 | 43 ++++++++ .../spirv_asm/decorate_aliased.spvasm64 | 48 +++++++++ .../spirv_asm/decorate_alignment.spvasm32 | 43 ++++++++ .../spirv_asm/decorate_alignment.spvasm64 | 48 +++++++++ .../spirv_asm/decorate_coherent.spvasm32 | 80 +++++++++++++++ .../spirv_asm/decorate_coherent.spvasm64 | 93 ++++++++++++++++++ .../spirv_asm/decorate_constant.spvasm32 | 43 ++++++++ .../spirv_asm/decorate_constant.spvasm64 | 48 +++++++++ .../spirv_asm/decorate_constant_fail.spvasm32 | 43 ++++++++ .../spirv_asm/decorate_constant_fail.spvasm64 | 48 +++++++++ .../spirv_asm/decorate_cpacked.spvasm32 | 38 +++++++ .../spirv_asm/decorate_cpacked.spvasm64 | 43 ++++++++ .../spirv_asm/decorate_nonreadable.spvasm32 | 66 +++++++++++++ .../spirv_asm/decorate_nonreadable.spvasm64 | 79 +++++++++++++++ .../spirv_asm/decorate_nonwritable.spvasm32 | 80 +++++++++++++++ .../spirv_asm/decorate_nonwritable.spvasm64 | 93 ++++++++++++++++++ .../spirv_asm/decorate_restrict.spvasm32 | 43 ++++++++ .../spirv_asm/decorate_restrict.spvasm64 | 48 +++++++++ ...decorate_rounding_rte_double_long.spvasm32 | 42 ++++++++ ...decorate_rounding_rte_double_long.spvasm64 | 44 +++++++++ .../decorate_rounding_rte_float_int.spvasm32 | 39 ++++++++ .../decorate_rounding_rte_float_int.spvasm64 | 44 +++++++++ ...decorate_rounding_rtn_double_long.spvasm32 | 42 ++++++++ ...decorate_rounding_rtn_double_long.spvasm64 | 44 +++++++++ .../decorate_rounding_rtn_float_int.spvasm32 | 39 ++++++++ .../decorate_rounding_rtn_float_int.spvasm64 | 44 +++++++++ ...decorate_rounding_rtp_double_long.spvasm32 | 42 ++++++++ ...decorate_rounding_rtp_double_long.spvasm64 | 44 +++++++++ .../decorate_rounding_rtp_float_int.spvasm32 | 39 ++++++++ .../decorate_rounding_rtp_float_int.spvasm64 | 44 +++++++++ ...decorate_rounding_rtz_double_long.spvasm32 | 42 ++++++++ ...decorate_rounding_rtz_double_long.spvasm64 | 44 +++++++++ .../decorate_rounding_rtz_float_int.spvasm32 | 39 ++++++++ .../decorate_rounding_rtz_float_int.spvasm64 | 44 +++++++++ ...ecorate_saturated_conversion_char.spvasm32 | 46 +++++++++ ...ecorate_saturated_conversion_char.spvasm64 | 50 ++++++++++ ...decorate_saturated_conversion_int.spvasm32 | 45 +++++++++ ...decorate_saturated_conversion_int.spvasm64 | 50 ++++++++++ ...corate_saturated_conversion_short.spvasm32 | 46 +++++++++ ...corate_saturated_conversion_short.spvasm64 | 50 ++++++++++ ...corate_saturated_conversion_uchar.spvasm32 | 46 +++++++++ ...corate_saturated_conversion_uchar.spvasm64 | 50 ++++++++++ ...ecorate_saturated_conversion_uint.spvasm32 | 45 +++++++++ ...ecorate_saturated_conversion_uint.spvasm64 | 50 ++++++++++ ...orate_saturated_conversion_ushort.spvasm32 | 46 +++++++++ ...orate_saturated_conversion_ushort.spvasm64 | 50 ++++++++++ .../spirv_asm/decorate_volatile.spvasm32 | 80 +++++++++++++++ .../spirv_asm/decorate_volatile.spvasm64 | 93 ++++++++++++++++++ ..._integer_wrap_decoration_fadd_int.spvasm32 | 38 +++---- ..._integer_wrap_decoration_fadd_int.spvasm64 | 53 ++++++++++ ...integer_wrap_decoration_fadd_uint.spvasm32 | 38 +++---- ...integer_wrap_decoration_fadd_uint.spvasm64 | 48 ++++----- ..._integer_wrap_decoration_fmul_int.spvasm32 | 38 +++---- ..._integer_wrap_decoration_fmul_int.spvasm64 | 53 ++++++++++ ...integer_wrap_decoration_fmul_uint.spvasm32 | 38 +++---- ...integer_wrap_decoration_fmul_uint.spvasm64 | 48 ++++----- ...teger_wrap_decoration_fnegate_int.spvasm32 | 36 +++---- ...teger_wrap_decoration_fnegate_int.spvasm64 | 42 ++++---- ...er_wrap_decoration_fshiftleft_int.spvasm32 | 49 +++++++++ ...r_wrap_decoration_fshiftleft_int.spvasm64} | 50 +++++----- ...r_wrap_decoration_fshiftleft_uint.spvasm32 | 49 +++++++++ ..._wrap_decoration_fshiftleft_uint.spvasm64} | 50 +++++----- ..._integer_wrap_decoration_fsub_int.spvasm32 | 47 +++++++++ ..._integer_wrap_decoration_fsub_int.spvasm64 | 53 ++++++++++ ...integer_wrap_decoration_fsub_uint.spvasm32 | 47 +++++++++ ...integer_wrap_decoration_fsub_uint.spvasm64 | 53 ++++++++++ .../spirv_new/spirv_asm/fadd_double.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fadd_double.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fadd_double2.spvasm32 | 47 +++++++++ .../spirv_new/spirv_asm/fadd_double2.spvasm64 | 51 ++++++++++ .../spirv_new/spirv_asm/fadd_float.spvasm32 | 45 +++++++++ .../spirv_new/spirv_asm/fadd_float.spvasm64 | 49 +++++++++ .../spirv_new/spirv_asm/fadd_float4.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fadd_float4.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fadd_half.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fadd_half.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fdiv_double.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fdiv_double.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fdiv_double2.spvasm32 | 47 +++++++++ .../spirv_new/spirv_asm/fdiv_double2.spvasm64 | 51 ++++++++++ .../spirv_new/spirv_asm/fdiv_float.spvasm32 | 45 +++++++++ .../spirv_new/spirv_asm/fdiv_float.spvasm64 | 49 +++++++++ .../spirv_new/spirv_asm/fdiv_float4.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fdiv_float4.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fdiv_half.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fdiv_half.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fmod_double.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fmod_double.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fmod_double2.spvasm32 | 47 +++++++++ .../spirv_new/spirv_asm/fmod_double2.spvasm64 | 51 ++++++++++ .../spirv_new/spirv_asm/fmod_float.spvasm32 | 45 +++++++++ .../spirv_new/spirv_asm/fmod_float.spvasm64 | 49 +++++++++ .../spirv_new/spirv_asm/fmod_float4.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fmod_float4.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fmod_half.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fmod_half.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fmul_double.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fmul_double.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fmul_double2.spvasm32 | 47 +++++++++ .../spirv_new/spirv_asm/fmul_double2.spvasm64 | 51 ++++++++++ .../spirv_new/spirv_asm/fmul_float.spvasm32 | 45 +++++++++ .../spirv_new/spirv_asm/fmul_float.spvasm64 | 49 +++++++++ .../spirv_new/spirv_asm/fmul_float4.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fmul_float4.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fmul_half.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fmul_half.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/frem_double.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/frem_double.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/frem_double2.spvasm32 | 47 +++++++++ .../spirv_new/spirv_asm/frem_double2.spvasm64 | 51 ++++++++++ .../spirv_new/spirv_asm/frem_float.spvasm32 | 45 +++++++++ .../spirv_new/spirv_asm/frem_float.spvasm64 | 49 +++++++++ .../spirv_new/spirv_asm/frem_float4.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/frem_float4.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/frem_half.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/frem_half.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fsub_double.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fsub_double.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fsub_double2.spvasm32 | 47 +++++++++ .../spirv_new/spirv_asm/fsub_double2.spvasm64 | 51 ++++++++++ .../spirv_new/spirv_asm/fsub_float.spvasm32 | 45 +++++++++ .../spirv_new/spirv_asm/fsub_float.spvasm64 | 49 +++++++++ .../spirv_new/spirv_asm/fsub_float4.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fsub_float4.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/fsub_half.spvasm32 | 46 +++++++++ .../spirv_new/spirv_asm/fsub_half.spvasm64 | 50 ++++++++++ .../spirv_new/spirv_asm/label_simple.spvasm32 | 34 +++++++ .../spirv_new/spirv_asm/label_simple.spvasm64 | 40 ++++++++ .../spirv_asm/lifetime_simple.spvasm32 | 50 ++++++++++ .../spirv_asm/lifetime_simple.spvasm64 | 55 +++++++++++ .../spirv_asm/linkage_export.spvasm32 | 20 ++++ .../spirv_asm/linkage_export.spvasm64 | 20 ++++ .../spirv_asm/linkage_import.spvasm32 | 39 ++++++++ .../spirv_asm/linkage_import.spvasm64 | 43 ++++++++ ...ge_branch_conditional_dont_unroll.spvasm32 | 70 +++++++++++++ ...ge_branch_conditional_dont_unroll.spvasm64 | 76 ++++++++++++++ ...oop_merge_branch_conditional_none.spvasm32 | 70 +++++++++++++ ...oop_merge_branch_conditional_none.spvasm64 | 76 ++++++++++++++ ...p_merge_branch_conditional_unroll.spvasm32 | 70 +++++++++++++ ...p_merge_branch_conditional_unroll.spvasm64 | 76 ++++++++++++++ .../loop_merge_branch_dont_unroll.spvasm32 | 72 ++++++++++++++ .../loop_merge_branch_dont_unroll.spvasm64 | 78 +++++++++++++++ .../spirv_asm/loop_merge_branch_none.spvasm32 | 72 ++++++++++++++ .../spirv_asm/loop_merge_branch_none.spvasm64 | 78 +++++++++++++++ .../loop_merge_branch_unroll.spvasm32 | 72 ++++++++++++++ .../loop_merge_branch_unroll.spvasm64 | 78 +++++++++++++++ .../spirv_asm/op_function_const.spvasm32 | 41 ++++++++ .../spirv_asm/op_function_const.spvasm64 | 45 +++++++++ .../spirv_asm/op_function_inline.spvasm32 | 41 ++++++++ .../spirv_asm/op_function_inline.spvasm64 | 45 +++++++++ .../spirv_asm/op_function_noinline.spvasm32 | 41 ++++++++ .../spirv_asm/op_function_noinline.spvasm64 | 45 +++++++++ .../spirv_asm/op_function_none.spvasm32 | 41 ++++++++ .../spirv_asm/op_function_none.spvasm64 | 45 +++++++++ .../spirv_asm/op_function_pure.spvasm32 | 41 ++++++++ .../spirv_asm/op_function_pure.spvasm64 | 45 +++++++++ .../spirv_asm/op_function_pure_ptr.spvasm32 | 53 ++++++++++ .../spirv_asm/op_function_pure_ptr.spvasm64 | 56 +++++++++++ .../spirv_asm/op_neg_double.spvasm32 | 35 +++++++ .../spirv_asm/op_neg_double.spvasm64 | 39 ++++++++ .../spirv_new/spirv_asm/op_neg_float.spvasm32 | 34 +++++++ .../spirv_new/spirv_asm/op_neg_float.spvasm64 | 38 +++++++ .../spirv_asm/op_neg_float4.spvasm32 | 35 +++++++ .../spirv_asm/op_neg_float4.spvasm64 | 39 ++++++++ .../spirv_new/spirv_asm/op_neg_int.spvasm32 | 33 +++++++ .../spirv_new/spirv_asm/op_neg_int.spvasm64 | 38 +++++++ .../spirv_new/spirv_asm/op_neg_int4.spvasm32 | 34 +++++++ .../spirv_new/spirv_asm/op_neg_int4.spvasm64 | 39 ++++++++ .../spirv_new/spirv_asm/op_neg_long.spvasm32 | 35 +++++++ .../spirv_new/spirv_asm/op_neg_long.spvasm64 | 37 +++++++ .../spirv_new/spirv_asm/op_neg_short.spvasm32 | 35 +++++++ .../spirv_new/spirv_asm/op_neg_short.spvasm64 | 39 ++++++++ .../spirv_new/spirv_asm/op_not_int.spvasm32 | 33 +++++++ .../spirv_new/spirv_asm/op_not_int.spvasm64 | 38 +++++++ .../spirv_new/spirv_asm/op_not_int4.spvasm32 | 34 +++++++ .../spirv_new/spirv_asm/op_not_int4.spvasm64 | 39 ++++++++ .../spirv_new/spirv_asm/op_not_long.spvasm32 | 35 +++++++ .../spirv_new/spirv_asm/op_not_long.spvasm64 | 37 +++++++ .../spirv_new/spirv_asm/op_not_short.spvasm32 | 35 +++++++ .../spirv_new/spirv_asm/op_not_short.spvasm64 | 39 ++++++++ .../spirv_new/spirv_asm/opaque.spvasm32 | 40 ++++++++ .../spirv_new/spirv_asm/opaque.spvasm64 | 44 +++++++++ .../spirv_new/spirv_asm/phi_2.spvasm32 | 52 ++++++++++ .../spirv_new/spirv_asm/phi_2.spvasm64 | 57 +++++++++++ .../spirv_new/spirv_asm/phi_3.spvasm32 | 59 +++++++++++ .../spirv_new/spirv_asm/phi_3.spvasm64 | 64 ++++++++++++ .../spirv_new/spirv_asm/phi_4.spvasm32 | 65 ++++++++++++ .../spirv_new/spirv_asm/phi_4.spvasm64 | 70 +++++++++++++ .../spirv_asm/select_if_dont_flatten.spvasm32 | 58 +++++++++++ .../spirv_asm/select_if_dont_flatten.spvasm64 | 64 ++++++++++++ .../spirv_asm/select_if_flatten.spvasm32 | 58 +++++++++++ .../spirv_asm/select_if_flatten.spvasm64 | 64 ++++++++++++ .../spirv_asm/select_if_none.spvasm32 | 58 +++++++++++ .../spirv_asm/select_if_none.spvasm64 | 64 ++++++++++++ .../select_switch_dont_flatten.spvasm32 | 67 +++++++++++++ .../select_switch_dont_flatten.spvasm64 | 73 ++++++++++++++ .../spirv_asm/select_switch_flatten.spvasm32 | 67 +++++++++++++ .../spirv_asm/select_switch_flatten.spvasm64 | 73 ++++++++++++++ .../spirv_asm/select_switch_none.spvasm32 | 67 +++++++++++++ .../spirv_asm/select_switch_none.spvasm64 | 73 ++++++++++++++ .../spirv_asm/undef_char_simple.spvasm32 | 34 +++++++ .../spirv_asm/undef_char_simple.spvasm64 | 38 +++++++ .../spirv_asm/undef_double_simple.spvasm32 | 34 +++++++ .../spirv_asm/undef_double_simple.spvasm64 | 38 +++++++ .../spirv_asm/undef_false_simple.spvasm32 | 36 +++++++ .../spirv_asm/undef_false_simple.spvasm64 | 41 ++++++++ .../spirv_asm/undef_float_simple.spvasm32 | 33 +++++++ .../spirv_asm/undef_float_simple.spvasm64 | 37 +++++++ .../spirv_asm/undef_half_simple.spvasm32 | 36 +++++++ .../spirv_asm/undef_half_simple.spvasm64 | 40 ++++++++ .../spirv_asm/undef_int3_simple.spvasm32 | 32 ++++++ .../spirv_asm/undef_int3_simple.spvasm64 | 38 +++++++ .../spirv_asm/undef_int4_simple.spvasm32 | 33 +++++++ .../spirv_asm/undef_int4_simple.spvasm64 | 38 +++++++ .../spirv_asm/undef_int_simple.spvasm32 | 32 ++++++ .../spirv_asm/undef_int_simple.spvasm64 | 37 +++++++ .../spirv_asm/undef_long_simple.spvasm32 | 34 +++++++ .../spirv_asm/undef_long_simple.spvasm64 | 36 +++++++ .../spirv_asm/undef_short_simple.spvasm32 | 34 +++++++ .../spirv_asm/undef_short_simple.spvasm64 | 38 +++++++ .../undef_struct_int_char_simple.spvasm32 | 35 +++++++ .../undef_struct_int_char_simple.spvasm64 | 40 ++++++++ .../undef_struct_int_float_simple.spvasm32 | 34 +++++++ .../undef_struct_int_float_simple.spvasm64 | 39 ++++++++ .../undef_struct_struct_simple.spvasm32 | 37 +++++++ .../undef_struct_struct_simple.spvasm64 | 42 ++++++++ .../spirv_asm/undef_true_simple.spvasm32 | 36 +++++++ .../spirv_asm/undef_true_simple.spvasm64 | 41 ++++++++ .../spirv_asm/undef_uchar_simple.spvasm32 | 34 +++++++ .../spirv_asm/undef_uchar_simple.spvasm64 | 38 +++++++ .../spirv_asm/undef_uint_simple.spvasm32 | 32 ++++++ .../spirv_asm/undef_uint_simple.spvasm64 | 37 +++++++ .../spirv_asm/undef_ulong_simple.spvasm32 | 34 +++++++ .../spirv_asm/undef_ulong_simple.spvasm64 | 36 +++++++ .../spirv_asm/undef_ushort_simple.spvasm32 | 34 +++++++ .../spirv_asm/undef_ushort_simple.spvasm64 | 38 +++++++ .../spirv_asm/unreachable_simple.spvasm32 | 38 +++++++ .../spirv_asm/unreachable_simple.spvasm64 | 44 +++++++++ .../spirv_asm/vector_char16_extract.spvasm32 | 42 ++++++++ .../spirv_asm/vector_char16_extract.spvasm64 | 47 +++++++++ .../spirv_asm/vector_char16_insert.spvasm32 | 43 ++++++++ .../spirv_asm/vector_char16_insert.spvasm64 | 48 +++++++++ .../spirv_asm/vector_double2_extract.spvasm32 | 41 ++++++++ .../spirv_asm/vector_double2_extract.spvasm64 | 46 +++++++++ .../spirv_asm/vector_double2_insert.spvasm32 | 42 ++++++++ .../spirv_asm/vector_double2_insert.spvasm64 | 47 +++++++++ .../spirv_asm/vector_float4_extract.spvasm32 | 40 ++++++++ .../spirv_asm/vector_float4_extract.spvasm64 | 45 +++++++++ .../spirv_asm/vector_float4_insert.spvasm32 | 41 ++++++++ .../spirv_asm/vector_float4_insert.spvasm64 | 46 +++++++++ .../spirv_asm/vector_int4_extract.spvasm32 | 39 ++++++++ .../spirv_asm/vector_int4_extract.spvasm64 | 44 +++++++++ .../spirv_asm/vector_int4_insert.spvasm32 | 40 ++++++++ .../spirv_asm/vector_int4_insert.spvasm64 | 45 +++++++++ .../spirv_asm/vector_long2_extract.spvasm32 | 41 ++++++++ .../spirv_asm/vector_long2_extract.spvasm64 | 44 +++++++++ .../spirv_asm/vector_long2_insert.spvasm32 | 42 ++++++++ .../spirv_asm/vector_long2_insert.spvasm64 | 45 +++++++++ .../vector_times_scalar_double.spvasm32 | 46 +++++++++ .../vector_times_scalar_double.spvasm64 | 50 ++++++++++ .../vector_times_scalar_float.spvasm32 | 46 +++++++++ .../vector_times_scalar_float.spvasm64 | 50 ++++++++++ .../spirv_bin/atomic_dec_global.spv32 | Bin 564 -> 548 bytes .../spirv_bin/atomic_inc_global.spv32 | Bin 564 -> 548 bytes .../spirv_bin/branch_conditional.spv32 | Bin 824 -> 808 bytes .../spirv_bin/branch_conditional.spv64 | Bin 904 -> 904 bytes .../branch_conditional_weighted.spv32 | Bin 840 -> 824 bytes .../branch_conditional_weighted.spv64 | Bin 920 -> 920 bytes .../spirv_new/spirv_bin/branch_simple.spv32 | Bin 496 -> 480 bytes .../spirv_bin/composite_construct_int4.spv32 | Bin 556 -> 540 bytes .../composite_construct_struct.spv32 | Bin 636 -> 620 bytes .../spirv_bin/constant_false_simple.spv32 | Bin 512 -> 496 bytes .../spirv_bin/constant_int3_simple.spv32 | Bin 532 -> 500 bytes .../spirv_bin/constant_int4_simple.spv32 | Bin 552 -> 536 bytes .../spirv_bin/constant_int_simple.spv32 | Bin 448 -> 432 bytes .../spirv_bin/constant_long_simple.spv64 | Bin 524 -> 508 bytes .../constant_struct_int_char_simple.spv32 | Bin 536 -> 520 bytes .../constant_struct_int_float_simple.spv32 | Bin 528 -> 512 bytes .../constant_struct_struct_simple.spv32 | Bin 640 -> 624 bytes .../spirv_bin/constant_true_simple.spv32 | Bin 520 -> 504 bytes .../spirv_bin/constant_uint_simple.spv32 | Bin 452 -> 436 bytes .../spirv_bin/constant_ulong_simple.spv64 | Bin 524 -> 508 bytes .../spirv_bin/copy_int3_simple.spv32 | Bin 544 -> 512 bytes .../spirv_bin/copy_int4_simple.spv32 | Bin 564 -> 548 bytes .../spirv_new/spirv_bin/copy_int_simple.spv32 | Bin 460 -> 444 bytes .../spirv_bin/copy_long_simple.spv64 | Bin 536 -> 520 bytes .../copy_struct_int_char_simple.spv32 | Bin 548 -> 532 bytes .../copy_struct_int_float_simple.spv32 | Bin 540 -> 524 bytes .../spirv_bin/copy_struct_struct_simple.spv32 | Bin 652 -> 636 bytes .../spirv_bin/copy_uint_simple.spv32 | Bin 464 -> 448 bytes .../spirv_bin/copy_ulong_simple.spv64 | Bin 536 -> 520 bytes .../spirv_bin/decorate_aliased.spv32 | Bin 644 -> 628 bytes .../spirv_bin/decorate_alignment.spv32 | Bin 648 -> 632 bytes .../spirv_bin/decorate_coherent.spv32 | Bin 1368 -> 1372 bytes .../spirv_bin/decorate_coherent.spv64 | Bin 1580 -> 1584 bytes .../spirv_bin/decorate_constant.spv32 | Bin 640 -> 624 bytes .../spirv_bin/decorate_constant_fail.spv32 | Bin 644 -> 628 bytes .../spirv_bin/decorate_cpacked.spv32 | Bin 536 -> 520 bytes .../spirv_bin/decorate_restrict.spv32 | Bin 644 -> 628 bytes .../decorate_rounding_rte_double_long.spv64 | Bin 648 -> 632 bytes .../decorate_rounding_rte_float_int.spv32 | Bin 576 -> 560 bytes .../decorate_rounding_rtn_double_long.spv64 | Bin 648 -> 632 bytes .../decorate_rounding_rtn_float_int.spv32 | Bin 576 -> 560 bytes .../decorate_rounding_rtp_double_long.spv64 | Bin 648 -> 632 bytes .../decorate_rounding_rtp_float_int.spv32 | Bin 576 -> 560 bytes .../decorate_rounding_rtz_double_long.spv64 | Bin 648 -> 632 bytes .../decorate_rounding_rtz_float_int.spv32 | Bin 576 -> 560 bytes .../decorate_saturated_conversion_int.spv32 | Bin 660 -> 644 bytes .../decorate_saturated_conversion_uint.spv32 | Bin 660 -> 644 bytes .../spirv_bin/decorate_volatile.spv32 | Bin 1368 -> 1372 bytes .../spirv_bin/decorate_volatile.spv64 | Bin 1580 -> 1584 bytes ..._no_integer_wrap_decoration_fadd_int.spv32 | Bin 732 -> 732 bytes ..._no_integer_wrap_decoration_fadd_int.spv64 | Bin 820 -> 820 bytes ...no_integer_wrap_decoration_fadd_uint.spv32 | Bin 732 -> 732 bytes ...no_integer_wrap_decoration_fadd_uint.spv64 | Bin 820 -> 820 bytes ..._no_integer_wrap_decoration_fmul_int.spv32 | Bin 732 -> 732 bytes ..._no_integer_wrap_decoration_fmul_int.spv64 | Bin 820 -> 820 bytes ...no_integer_wrap_decoration_fmul_uint.spv32 | Bin 732 -> 732 bytes ...no_integer_wrap_decoration_fmul_uint.spv64 | Bin 820 -> 820 bytes ..._integer_wrap_decoration_fnegate_int.spv32 | Bin 700 -> 700 bytes ..._integer_wrap_decoration_fnegate_int.spv64 | Bin 772 -> 772 bytes ...teger_wrap_decoration_fshiftleft_int.spv32 | Bin 768 -> 768 bytes ...teger_wrap_decoration_fshiftleft_int.spv64 | Bin 856 -> 856 bytes ...eger_wrap_decoration_fshiftleft_uint.spv32 | Bin 768 -> 768 bytes ...eger_wrap_decoration_fshiftleft_uint.spv64 | Bin 856 -> 856 bytes ..._no_integer_wrap_decoration_fsub_int.spv32 | Bin 732 -> 732 bytes ..._no_integer_wrap_decoration_fsub_int.spv64 | Bin 820 -> 820 bytes ...no_integer_wrap_decoration_fsub_uint.spv32 | Bin 732 -> 732 bytes ...no_integer_wrap_decoration_fsub_uint.spv64 | Bin 820 -> 820 bytes .../spirv_new/spirv_bin/label_simple.spv32 | Bin 480 -> 464 bytes .../spirv_new/spirv_bin/lifetime_simple.spv32 | Bin 736 -> 720 bytes ...merge_branch_conditional_dont_unroll.spv32 | Bin 1052 -> 1020 bytes ...merge_branch_conditional_dont_unroll.spv64 | Bin 1120 -> 1120 bytes .../loop_merge_branch_conditional_none.spv32 | Bin 1044 -> 1012 bytes .../loop_merge_branch_conditional_none.spv64 | Bin 1112 -> 1112 bytes ...loop_merge_branch_conditional_unroll.spv32 | Bin 1048 -> 1016 bytes ...loop_merge_branch_conditional_unroll.spv64 | Bin 1116 -> 1116 bytes .../loop_merge_branch_dont_unroll.spv32 | Bin 1056 -> 1024 bytes .../loop_merge_branch_dont_unroll.spv64 | Bin 1124 -> 1124 bytes .../spirv_bin/loop_merge_branch_none.spv32 | Bin 1048 -> 1016 bytes .../spirv_bin/loop_merge_branch_none.spv64 | Bin 1116 -> 1116 bytes .../spirv_bin/loop_merge_branch_unroll.spv32 | Bin 1052 -> 1020 bytes .../spirv_bin/loop_merge_branch_unroll.spv64 | Bin 1120 -> 1120 bytes .../spirv_new/spirv_bin/op_neg_int.spv32 | Bin 456 -> 440 bytes .../spirv_new/spirv_bin/op_neg_int4.spv32 | Bin 472 -> 456 bytes .../spirv_new/spirv_bin/op_neg_long.spv64 | Bin 524 -> 508 bytes .../spirv_new/spirv_bin/op_not_int.spv32 | Bin 456 -> 440 bytes .../spirv_new/spirv_bin/op_not_int4.spv32 | Bin 472 -> 456 bytes .../spirv_new/spirv_bin/op_not_long.spv64 | Bin 524 -> 508 bytes .../spirv_new/spirv_bin/phi_2.spv32 | Bin 752 -> 736 bytes .../spirv_new/spirv_bin/phi_3.spv32 | Bin 856 -> 840 bytes .../spirv_new/spirv_bin/phi_4.spv32 | Bin 944 -> 928 bytes .../spirv_bin/select_if_dont_flatten.spv32 | Bin 840 -> 824 bytes .../spirv_bin/select_if_dont_flatten.spv64 | Bin 920 -> 920 bytes .../spirv_bin/select_if_flatten.spv32 | Bin 836 -> 820 bytes .../spirv_bin/select_if_flatten.spv64 | Bin 916 -> 916 bytes .../spirv_new/spirv_bin/select_if_none.spv32 | Bin 832 -> 816 bytes .../spirv_new/spirv_bin/select_if_none.spv64 | Bin 912 -> 912 bytes .../select_switch_dont_flatten.spv32 | Bin 964 -> 948 bytes .../select_switch_dont_flatten.spv64 | Bin 1044 -> 1044 bytes .../spirv_bin/select_switch_flatten.spv32 | Bin 960 -> 944 bytes .../spirv_bin/select_switch_flatten.spv64 | Bin 1040 -> 1040 bytes .../spirv_bin/select_switch_none.spv32 | Bin 956 -> 940 bytes .../spirv_bin/select_switch_none.spv64 | Bin 1036 -> 1036 bytes .../spirv_bin/undef_false_simple.spv32 | Bin 508 -> 492 bytes .../spirv_bin/undef_int3_simple.spv32 | Bin 468 -> 436 bytes .../spirv_bin/undef_int4_simple.spv32 | Bin 468 -> 452 bytes .../spirv_bin/undef_int_simple.spv32 | Bin 444 -> 428 bytes .../spirv_bin/undef_long_simple.spv64 | Bin 512 -> 496 bytes .../undef_struct_int_char_simple.spv32 | Bin 496 -> 480 bytes .../undef_struct_int_float_simple.spv32 | Bin 484 -> 468 bytes .../undef_struct_struct_simple.spv32 | Bin 524 -> 508 bytes .../spirv_bin/undef_true_simple.spv32 | Bin 516 -> 500 bytes .../spirv_bin/undef_uint_simple.spv32 | Bin 444 -> 428 bytes .../spirv_bin/undef_ulong_simple.spv64 | Bin 512 -> 496 bytes .../spirv_bin/unreachable_simple.spv32 | Bin 512 -> 496 bytes .../spirv_bin/vector_char16_extract.spv32 | Bin 604 -> 588 bytes .../spirv_bin/vector_char16_insert.spv32 | Bin 624 -> 608 bytes .../spirv_bin/vector_double2_extract.spv32 | Bin 592 -> 576 bytes .../spirv_bin/vector_double2_insert.spv32 | Bin 612 -> 596 bytes .../spirv_bin/vector_float4_extract.spv32 | Bin 584 -> 568 bytes .../spirv_bin/vector_float4_insert.spv32 | Bin 604 -> 588 bytes .../spirv_bin/vector_int4_extract.spv32 | Bin 584 -> 552 bytes .../spirv_bin/vector_int4_extract.spv64 | Bin 652 -> 636 bytes .../spirv_bin/vector_int4_insert.spv32 | Bin 604 -> 572 bytes .../spirv_bin/vector_int4_insert.spv64 | Bin 672 -> 656 bytes .../spirv_bin/vector_long2_extract.spv32 | Bin 596 -> 580 bytes .../spirv_bin/vector_long2_extract.spv64 | Bin 656 -> 640 bytes .../spirv_bin/vector_long2_insert.spv32 | Bin 612 -> 596 bytes .../spirv_bin/vector_long2_insert.spv64 | Bin 672 -> 656 bytes .../spirv_txt/atomic_dec_global.spvasm32 | 33 ------- .../spirv_txt/atomic_dec_global.spvasm64 | 37 ------- .../spirv_txt/atomic_inc_global.spvasm32 | 33 ------- .../spirv_txt/atomic_inc_global.spvasm64 | 37 ------- .../spirv_txt/branch_conditional.spvasm32 | 53 ---------- .../spirv_txt/branch_conditional.spvasm64 | 58 ----------- .../branch_conditional_weighted.spvasm32 | 53 ---------- .../branch_conditional_weighted.spvasm64 | 58 ----------- .../spirv_txt/branch_simple.spvasm32 | 32 ------ .../spirv_txt/branch_simple.spvasm64 | 37 ------- .../composite_construct_int4.spvasm32 | 33 ------- .../composite_construct_int4.spvasm64 | 37 ------- .../composite_construct_struct.spvasm32 | 39 -------- .../composite_construct_struct.spvasm64 | 43 -------- .../spirv_txt/constant_char_simple.spvasm32 | 29 ------ .../spirv_txt/constant_char_simple.spvasm64 | 33 ------- .../spirv_txt/constant_double_simple.spvasm32 | 29 ------ .../spirv_txt/constant_double_simple.spvasm64 | 33 ------- .../spirv_txt/constant_false_simple.spvasm32 | 32 ------ .../spirv_txt/constant_false_simple.spvasm64 | 36 ------- .../spirv_txt/constant_float_simple.spvasm32 | 28 ------ .../spirv_txt/constant_float_simple.spvasm64 | 32 ------ .../spirv_txt/constant_half_simple.spvasm32 | 31 ------ .../spirv_txt/constant_half_simple.spvasm64 | 35 ------- .../spirv_txt/constant_int3_simple.spvasm32 | 32 ------ .../spirv_txt/constant_int3_simple.spvasm64 | 36 ------- .../spirv_txt/constant_int4_simple.spvasm32 | 33 ------- .../spirv_txt/constant_int4_simple.spvasm64 | 37 ------- .../spirv_txt/constant_int_simple.spvasm32 | 28 ------ .../spirv_txt/constant_int_simple.spvasm64 | 32 ------ .../spirv_txt/constant_long_simple.spvasm32 | 29 ------ .../spirv_txt/constant_long_simple.spvasm64 | 32 ------ .../spirv_txt/constant_short_simple.spvasm32 | 29 ------ .../spirv_txt/constant_short_simple.spvasm64 | 33 ------- .../constant_struct_int_char_simple.spvasm32 | 33 ------- .../constant_struct_int_char_simple.spvasm64 | 37 ------- .../constant_struct_int_float_simple.spvasm32 | 32 ------ .../constant_struct_int_float_simple.spvasm64 | 36 ------- .../constant_struct_struct_simple.spvasm32 | 39 -------- .../constant_struct_struct_simple.spvasm64 | 43 -------- .../spirv_txt/constant_true_simple.spvasm32 | 32 ------ .../spirv_txt/constant_true_simple.spvasm64 | 36 ------- .../spirv_txt/constant_uchar_simple.spvasm32 | 29 ------ .../spirv_txt/constant_uchar_simple.spvasm64 | 33 ------- .../spirv_txt/constant_uint_simple.spvasm32 | 28 ------ .../spirv_txt/constant_uint_simple.spvasm64 | 32 ------ .../spirv_txt/constant_ulong_simple.spvasm32 | 29 ------ .../spirv_txt/constant_ulong_simple.spvasm64 | 32 ------ .../spirv_txt/constant_ushort_simple.spvasm32 | 29 ------ .../spirv_txt/constant_ushort_simple.spvasm64 | 33 ------- .../spirv_txt/copy_char_simple.spvasm32 | 30 ------ .../spirv_txt/copy_char_simple.spvasm64 | 34 ------- .../spirv_txt/copy_double_simple.spvasm32 | 30 ------ .../spirv_txt/copy_double_simple.spvasm64 | 34 ------- .../spirv_txt/copy_float_simple.spvasm32 | 29 ------ .../spirv_txt/copy_float_simple.spvasm64 | 33 ------- .../spirv_txt/copy_half_simple.spvasm32 | 32 ------ .../spirv_txt/copy_half_simple.spvasm64 | 36 ------- .../spirv_txt/copy_int3_simple.spvasm32 | 33 ------- .../spirv_txt/copy_int3_simple.spvasm64 | 37 ------- .../spirv_txt/copy_int4_simple.spvasm32 | 34 ------- .../spirv_txt/copy_int4_simple.spvasm64 | 38 ------- .../spirv_txt/copy_int_simple.spvasm32 | 29 ------ .../spirv_txt/copy_int_simple.spvasm64 | 33 ------- .../spirv_txt/copy_long_simple.spvasm32 | 30 ------ .../spirv_txt/copy_long_simple.spvasm64 | 33 ------- .../spirv_txt/copy_short_simple.spvasm32 | 30 ------ .../spirv_txt/copy_short_simple.spvasm64 | 34 ------- .../copy_struct_int_char_simple.spvasm32 | 34 ------- .../copy_struct_int_char_simple.spvasm64 | 38 ------- .../copy_struct_int_float_simple.spvasm32 | 33 ------- .../copy_struct_int_float_simple.spvasm64 | 37 ------- .../copy_struct_struct_simple.spvasm32 | 40 -------- .../copy_struct_struct_simple.spvasm64 | 44 --------- .../spirv_txt/copy_uchar_simple.spvasm32 | 30 ------ .../spirv_txt/copy_uchar_simple.spvasm64 | 34 ------- .../spirv_txt/copy_uint_simple.spvasm32 | 29 ------ .../spirv_txt/copy_uint_simple.spvasm64 | 33 ------- .../spirv_txt/copy_ulong_simple.spvasm32 | 30 ------ .../spirv_txt/copy_ulong_simple.spvasm64 | 33 ------- .../spirv_txt/copy_ushort_simple.spvasm32 | 30 ------ .../spirv_txt/copy_ushort_simple.spvasm64 | 34 ------- .../spirv_txt/decorate_aliased.spvasm32 | 39 -------- .../spirv_txt/decorate_aliased.spvasm64 | 43 -------- .../spirv_txt/decorate_alignment.spvasm32 | 39 -------- .../spirv_txt/decorate_alignment.spvasm64 | 43 -------- .../spirv_txt/decorate_coherent.spvasm32 | 75 -------------- .../spirv_txt/decorate_coherent.spvasm64 | 88 ----------------- .../spirv_txt/decorate_constant.spvasm32 | 39 -------- .../spirv_txt/decorate_constant.spvasm64 | 43 -------- .../spirv_txt/decorate_constant_fail.spvasm32 | 39 -------- .../spirv_txt/decorate_constant_fail.spvasm64 | 43 -------- .../spirv_txt/decorate_cpacked.spvasm32 | 34 ------- .../spirv_txt/decorate_cpacked.spvasm64 | 38 ------- .../spirv_txt/decorate_nonreadable.spvasm32 | 61 ------------ .../spirv_txt/decorate_nonreadable.spvasm64 | 74 -------------- .../spirv_txt/decorate_nonwritable.spvasm32 | 75 -------------- .../spirv_txt/decorate_nonwritable.spvasm64 | 88 ----------------- .../spirv_txt/decorate_restrict.spvasm32 | 39 -------- .../spirv_txt/decorate_restrict.spvasm64 | 43 -------- ...decorate_rounding_rte_double_long.spvasm32 | 37 ------- ...decorate_rounding_rte_double_long.spvasm64 | 40 -------- .../decorate_rounding_rte_float_int.spvasm32 | 35 ------- .../decorate_rounding_rte_float_int.spvasm64 | 39 -------- ...decorate_rounding_rtn_double_long.spvasm32 | 37 ------- ...decorate_rounding_rtn_double_long.spvasm64 | 40 -------- .../decorate_rounding_rtn_float_int.spvasm32 | 35 ------- .../decorate_rounding_rtn_float_int.spvasm64 | 39 -------- ...decorate_rounding_rtp_double_long.spvasm32 | 37 ------- ...decorate_rounding_rtp_double_long.spvasm64 | 40 -------- .../decorate_rounding_rtp_float_int.spvasm32 | 35 ------- .../decorate_rounding_rtp_float_int.spvasm64 | 39 -------- ...decorate_rounding_rtz_double_long.spvasm32 | 37 ------- ...decorate_rounding_rtz_double_long.spvasm64 | 40 -------- .../decorate_rounding_rtz_float_int.spvasm32 | 35 ------- .../decorate_rounding_rtz_float_int.spvasm64 | 39 -------- ...ecorate_saturated_conversion_char.spvasm32 | 41 -------- ...ecorate_saturated_conversion_char.spvasm64 | 45 --------- ...decorate_saturated_conversion_int.spvasm32 | 41 -------- ...decorate_saturated_conversion_int.spvasm64 | 45 --------- ...corate_saturated_conversion_short.spvasm32 | 41 -------- ...corate_saturated_conversion_short.spvasm64 | 45 --------- ...corate_saturated_conversion_uchar.spvasm32 | 41 -------- ...corate_saturated_conversion_uchar.spvasm64 | 45 --------- ...ecorate_saturated_conversion_uint.spvasm32 | 41 -------- ...ecorate_saturated_conversion_uint.spvasm64 | 45 --------- ...orate_saturated_conversion_ushort.spvasm32 | 41 -------- ...orate_saturated_conversion_ushort.spvasm64 | 45 --------- .../spirv_txt/decorate_volatile.spvasm32 | 75 -------------- .../spirv_txt/decorate_volatile.spvasm64 | 88 ----------------- ...er_wrap_decoration_fshiftleft_int.spvasm32 | 49 --------- ...er_wrap_decoration_fshiftleft_int.spvasm64 | 55 ----------- ...r_wrap_decoration_fshiftleft_uint.spvasm32 | 49 --------- ...r_wrap_decoration_fshiftleft_uint.spvasm64 | 55 ----------- ..._integer_wrap_decoration_fsub_int.spvasm32 | 47 --------- ..._integer_wrap_decoration_fsub_int.spvasm64 | 53 ---------- ...integer_wrap_decoration_fsub_uint.spvasm32 | 47 --------- ...integer_wrap_decoration_fsub_uint.spvasm64 | 53 ---------- .../spirv_new/spirv_txt/fadd_double.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fadd_double.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fadd_double2.spvasm32 | 42 -------- .../spirv_new/spirv_txt/fadd_double2.spvasm64 | 46 --------- .../spirv_new/spirv_txt/fadd_float.spvasm32 | 40 -------- .../spirv_new/spirv_txt/fadd_float.spvasm64 | 44 --------- .../spirv_new/spirv_txt/fadd_float4.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fadd_float4.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fadd_half.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fadd_half.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fdiv_double.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fdiv_double.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fdiv_double2.spvasm32 | 42 -------- .../spirv_new/spirv_txt/fdiv_double2.spvasm64 | 46 --------- .../spirv_new/spirv_txt/fdiv_float.spvasm32 | 40 -------- .../spirv_new/spirv_txt/fdiv_float.spvasm64 | 44 --------- .../spirv_new/spirv_txt/fdiv_float4.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fdiv_float4.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fdiv_half.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fdiv_half.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fmod_double.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fmod_double.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fmod_double2.spvasm32 | 42 -------- .../spirv_new/spirv_txt/fmod_double2.spvasm64 | 46 --------- .../spirv_new/spirv_txt/fmod_float.spvasm32 | 40 -------- .../spirv_new/spirv_txt/fmod_float.spvasm64 | 44 --------- .../spirv_new/spirv_txt/fmod_float4.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fmod_float4.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fmod_half.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fmod_half.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fmul_double.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fmul_double.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fmul_double2.spvasm32 | 42 -------- .../spirv_new/spirv_txt/fmul_double2.spvasm64 | 46 --------- .../spirv_new/spirv_txt/fmul_float.spvasm32 | 40 -------- .../spirv_new/spirv_txt/fmul_float.spvasm64 | 44 --------- .../spirv_new/spirv_txt/fmul_float4.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fmul_float4.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fmul_half.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fmul_half.spvasm64 | 45 --------- .../spirv_new/spirv_txt/frem_double.spvasm32 | 41 -------- .../spirv_new/spirv_txt/frem_double.spvasm64 | 45 --------- .../spirv_new/spirv_txt/frem_double2.spvasm32 | 42 -------- .../spirv_new/spirv_txt/frem_double2.spvasm64 | 46 --------- .../spirv_new/spirv_txt/frem_float.spvasm32 | 40 -------- .../spirv_new/spirv_txt/frem_float.spvasm64 | 44 --------- .../spirv_new/spirv_txt/frem_float4.spvasm32 | 41 -------- .../spirv_new/spirv_txt/frem_float4.spvasm64 | 45 --------- .../spirv_new/spirv_txt/frem_half.spvasm32 | 41 -------- .../spirv_new/spirv_txt/frem_half.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fsub_double.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fsub_double.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fsub_double2.spvasm32 | 42 -------- .../spirv_new/spirv_txt/fsub_double2.spvasm64 | 46 --------- .../spirv_new/spirv_txt/fsub_float.spvasm32 | 40 -------- .../spirv_new/spirv_txt/fsub_float.spvasm64 | 44 --------- .../spirv_new/spirv_txt/fsub_float4.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fsub_float4.spvasm64 | 45 --------- .../spirv_new/spirv_txt/fsub_half.spvasm32 | 41 -------- .../spirv_new/spirv_txt/fsub_half.spvasm64 | 45 --------- .../spirv_new/spirv_txt/label_simple.spvasm32 | 30 ------ .../spirv_new/spirv_txt/label_simple.spvasm64 | 35 ------- .../spirv_txt/lifetime_simple.spvasm32 | 46 --------- .../spirv_txt/lifetime_simple.spvasm64 | 50 ---------- .../spirv_txt/linkage_export.spvasm32 | 15 --- .../spirv_txt/linkage_export.spvasm64 | 15 --- .../spirv_txt/linkage_import.spvasm32 | 34 ------- .../spirv_txt/linkage_import.spvasm64 | 38 ------- ...ge_branch_conditional_dont_unroll.spvasm32 | 67 ------------- ...ge_branch_conditional_dont_unroll.spvasm64 | 71 ------------- ...oop_merge_branch_conditional_none.spvasm32 | 67 ------------- ...oop_merge_branch_conditional_none.spvasm64 | 71 ------------- ...p_merge_branch_conditional_unroll.spvasm32 | 67 ------------- ...p_merge_branch_conditional_unroll.spvasm64 | 71 ------------- .../loop_merge_branch_dont_unroll.spvasm32 | 69 ------------- .../loop_merge_branch_dont_unroll.spvasm64 | 73 -------------- .../spirv_txt/loop_merge_branch_none.spvasm32 | 69 ------------- .../spirv_txt/loop_merge_branch_none.spvasm64 | 73 -------------- .../loop_merge_branch_unroll.spvasm32 | 69 ------------- .../loop_merge_branch_unroll.spvasm64 | 73 -------------- .../spirv_txt/op_function_const.spvasm32 | 36 ------- .../spirv_txt/op_function_const.spvasm64 | 40 -------- .../spirv_txt/op_function_inline.spvasm32 | 36 ------- .../spirv_txt/op_function_inline.spvasm64 | 40 -------- .../spirv_txt/op_function_noinline.spvasm32 | 36 ------- .../spirv_txt/op_function_noinline.spvasm64 | 40 -------- .../spirv_txt/op_function_none.spvasm32 | 36 ------- .../spirv_txt/op_function_none.spvasm64 | 40 -------- .../spirv_txt/op_function_pure.spvasm32 | 36 ------- .../spirv_txt/op_function_pure.spvasm64 | 40 -------- .../spirv_txt/op_function_pure_ptr.spvasm32 | 48 --------- .../spirv_txt/op_function_pure_ptr.spvasm64 | 51 ---------- .../spirv_txt/op_neg_double.spvasm32 | 30 ------ .../spirv_txt/op_neg_double.spvasm64 | 34 ------- .../spirv_new/spirv_txt/op_neg_float.spvasm32 | 29 ------ .../spirv_new/spirv_txt/op_neg_float.spvasm64 | 33 ------- .../spirv_txt/op_neg_float4.spvasm32 | 30 ------ .../spirv_txt/op_neg_float4.spvasm64 | 34 ------- .../spirv_new/spirv_txt/op_neg_int.spvasm32 | 29 ------ .../spirv_new/spirv_txt/op_neg_int.spvasm64 | 33 ------- .../spirv_new/spirv_txt/op_neg_int4.spvasm32 | 30 ------ .../spirv_new/spirv_txt/op_neg_int4.spvasm64 | 34 ------- .../spirv_new/spirv_txt/op_neg_long.spvasm32 | 30 ------ .../spirv_new/spirv_txt/op_neg_long.spvasm64 | 33 ------- .../spirv_new/spirv_txt/op_neg_short.spvasm32 | 30 ------ .../spirv_new/spirv_txt/op_neg_short.spvasm64 | 34 ------- .../spirv_new/spirv_txt/op_not_int.spvasm32 | 29 ------ .../spirv_new/spirv_txt/op_not_int.spvasm64 | 33 ------- .../spirv_new/spirv_txt/op_not_int4.spvasm32 | 30 ------ .../spirv_new/spirv_txt/op_not_int4.spvasm64 | 34 ------- .../spirv_new/spirv_txt/op_not_long.spvasm32 | 30 ------ .../spirv_new/spirv_txt/op_not_long.spvasm64 | 33 ------- .../spirv_new/spirv_txt/op_not_short.spvasm32 | 30 ------ .../spirv_new/spirv_txt/op_not_short.spvasm64 | 34 ------- .../spirv_new/spirv_txt/opaque.spvasm32 | 35 ------- .../spirv_new/spirv_txt/opaque.spvasm64 | 39 -------- .../spirv_new/spirv_txt/phi_2.spvasm32 | 48 --------- .../spirv_new/spirv_txt/phi_2.spvasm64 | 52 ---------- .../spirv_new/spirv_txt/phi_3.spvasm32 | 55 ----------- .../spirv_new/spirv_txt/phi_3.spvasm64 | 59 ----------- .../spirv_new/spirv_txt/phi_4.spvasm32 | 61 ------------ .../spirv_new/spirv_txt/phi_4.spvasm64 | 65 ------------ .../spirv_txt/select_if_dont_flatten.spvasm32 | 54 ---------- .../spirv_txt/select_if_dont_flatten.spvasm64 | 59 ----------- .../spirv_txt/select_if_flatten.spvasm32 | 54 ---------- .../spirv_txt/select_if_flatten.spvasm64 | 59 ----------- .../spirv_txt/select_if_none.spvasm32 | 54 ---------- .../spirv_txt/select_if_none.spvasm64 | 59 ----------- .../select_switch_dont_flatten.spvasm32 | 63 ------------ .../select_switch_dont_flatten.spvasm64 | 68 ------------- .../spirv_txt/select_switch_flatten.spvasm32 | 63 ------------ .../spirv_txt/select_switch_flatten.spvasm64 | 68 ------------- .../spirv_txt/select_switch_none.spvasm32 | 63 ------------ .../spirv_txt/select_switch_none.spvasm64 | 68 ------------- .../spirv_txt/undef_char_simple.spvasm32 | 29 ------ .../spirv_txt/undef_char_simple.spvasm64 | 33 ------- .../spirv_txt/undef_double_simple.spvasm32 | 29 ------ .../spirv_txt/undef_double_simple.spvasm64 | 33 ------- .../spirv_txt/undef_false_simple.spvasm32 | 32 ------ .../spirv_txt/undef_false_simple.spvasm64 | 36 ------- .../spirv_txt/undef_float_simple.spvasm32 | 28 ------ .../spirv_txt/undef_float_simple.spvasm64 | 32 ------ .../spirv_txt/undef_half_simple.spvasm32 | 31 ------ .../spirv_txt/undef_half_simple.spvasm64 | 35 ------- .../spirv_txt/undef_int3_simple.spvasm32 | 29 ------ .../spirv_txt/undef_int3_simple.spvasm64 | 33 ------- .../spirv_txt/undef_int4_simple.spvasm32 | 29 ------ .../spirv_txt/undef_int4_simple.spvasm64 | 33 ------- .../spirv_txt/undef_int_simple.spvasm32 | 28 ------ .../spirv_txt/undef_int_simple.spvasm64 | 32 ------ .../spirv_txt/undef_long_simple.spvasm32 | 29 ------ .../spirv_txt/undef_long_simple.spvasm64 | 32 ------ .../spirv_txt/undef_short_simple.spvasm32 | 29 ------ .../spirv_txt/undef_short_simple.spvasm64 | 33 ------- .../undef_struct_int_char_simple.spvasm32 | 31 ------ .../undef_struct_int_char_simple.spvasm64 | 35 ------- .../undef_struct_int_float_simple.spvasm32 | 30 ------ .../undef_struct_int_float_simple.spvasm64 | 34 ------- .../undef_struct_struct_simple.spvasm32 | 33 ------- .../undef_struct_struct_simple.spvasm64 | 37 ------- .../spirv_txt/undef_true_simple.spvasm32 | 32 ------ .../spirv_txt/undef_true_simple.spvasm64 | 36 ------- .../spirv_txt/undef_uchar_simple.spvasm32 | 29 ------ .../spirv_txt/undef_uchar_simple.spvasm64 | 33 ------- .../spirv_txt/undef_uint_simple.spvasm32 | 28 ------ .../spirv_txt/undef_uint_simple.spvasm64 | 32 ------ .../spirv_txt/undef_ulong_simple.spvasm32 | 29 ------ .../spirv_txt/undef_ulong_simple.spvasm64 | 32 ------ .../spirv_txt/undef_ushort_simple.spvasm32 | 29 ------ .../spirv_txt/undef_ushort_simple.spvasm64 | 33 ------- .../spirv_txt/unreachable_simple.spvasm32 | 34 ------- .../spirv_txt/unreachable_simple.spvasm64 | 39 -------- .../spirv_txt/vector_char16_extract.spvasm32 | 38 ------- .../spirv_txt/vector_char16_extract.spvasm64 | 42 -------- .../spirv_txt/vector_char16_insert.spvasm32 | 39 -------- .../spirv_txt/vector_char16_insert.spvasm64 | 43 -------- .../spirv_txt/vector_double2_extract.spvasm32 | 37 ------- .../spirv_txt/vector_double2_extract.spvasm64 | 41 -------- .../spirv_txt/vector_double2_insert.spvasm32 | 38 ------- .../spirv_txt/vector_double2_insert.spvasm64 | 42 -------- .../spirv_txt/vector_float4_extract.spvasm32 | 36 ------- .../spirv_txt/vector_float4_extract.spvasm64 | 40 -------- .../spirv_txt/vector_float4_insert.spvasm32 | 37 ------- .../spirv_txt/vector_float4_insert.spvasm64 | 41 -------- .../spirv_txt/vector_int4_extract.spvasm32 | 36 ------- .../spirv_txt/vector_int4_extract.spvasm64 | 40 -------- .../spirv_txt/vector_int4_insert.spvasm32 | 37 ------- .../spirv_txt/vector_int4_insert.spvasm64 | 41 -------- .../spirv_txt/vector_long2_extract.spvasm32 | 37 ------- .../spirv_txt/vector_long2_extract.spvasm64 | 40 -------- .../spirv_txt/vector_long2_insert.spvasm32 | 38 ------- .../spirv_txt/vector_long2_insert.spvasm64 | 41 -------- .../vector_times_scalar_double.spvasm32 | 41 -------- .../vector_times_scalar_double.spvasm64 | 45 --------- .../vector_times_scalar_float.spvasm32 | 41 -------- .../vector_times_scalar_float.spvasm64 | 45 --------- 807 files changed, 15369 insertions(+), 13842 deletions(-) create mode 100644 test_conformance/spirv_new/spirv_asm/atomic_dec_global.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/atomic_dec_global.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/atomic_inc_global.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/atomic_inc_global.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/branch_conditional.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/branch_conditional.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/branch_conditional_weighted.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/branch_conditional_weighted.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/branch_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/branch_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/composite_construct_int4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/composite_construct_int4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/composite_construct_struct.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/composite_construct_struct.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_char_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_char_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_double_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_double_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_false_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_false_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_float_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_float_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_half_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_half_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_int3_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_int3_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_int4_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_int4_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_int_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_int_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_long_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_long_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_short_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_short_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_struct_int_char_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_struct_int_char_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_struct_int_float_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_struct_int_float_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_struct_struct_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_struct_struct_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_true_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_true_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_uchar_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_uchar_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_uint_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_uint_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_ulong_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_ulong_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_ushort_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/constant_ushort_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_char_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_char_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_double_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_double_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_float_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_float_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_half_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_half_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_int3_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_int3_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_int4_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_int4_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_int_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_int_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_long_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_long_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_short_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_short_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_struct_int_char_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_struct_int_char_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_struct_int_float_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_struct_int_float_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_struct_struct_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_struct_struct_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_uchar_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_uchar_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_uint_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_uint_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_ulong_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_ulong_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_ushort_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/copy_ushort_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_aliased.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_aliased.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_alignment.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_alignment.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_coherent.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_coherent.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_constant.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_constant.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_constant_fail.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_constant_fail.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_cpacked.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_cpacked.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_nonreadable.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_nonreadable.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_nonwritable.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_nonwritable.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_restrict.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_restrict.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_double_long.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_double_long.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_float_int.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_float_int.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_double_long.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_double_long.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_float_int.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_float_int.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_double_long.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_double_long.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_float_int.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_float_int.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_double_long.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_double_long.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_float_int.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_float_int.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_char.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_char.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_int.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_int.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_short.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_short.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uchar.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uchar.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uint.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uint.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_ushort.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_ushort.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_volatile.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/decorate_volatile.spvasm64 rename test_conformance/spirv_new/{spirv_txt => spirv_asm}/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm32 (65%) create mode 100644 test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm64 rename test_conformance/spirv_new/{spirv_txt => spirv_asm}/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm32 (65%) rename test_conformance/spirv_new/{spirv_txt => spirv_asm}/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm64 (58%) rename test_conformance/spirv_new/{spirv_txt => spirv_asm}/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm32 (65%) create mode 100644 test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm64 rename test_conformance/spirv_new/{spirv_txt => spirv_asm}/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm32 (65%) rename test_conformance/spirv_new/{spirv_txt => spirv_asm}/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm64 (58%) rename test_conformance/spirv_new/{spirv_txt => spirv_asm}/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm32 (64%) rename test_conformance/spirv_new/{spirv_txt => spirv_asm}/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm64 (62%) create mode 100644 test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm32 rename test_conformance/spirv_new/{spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm64 => spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm64} (59%) create mode 100644 test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm32 rename test_conformance/spirv_new/{spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm64 => spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm64} (59%) create mode 100644 test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_double.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_double.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_double2.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_double2.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_float.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_float.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_float4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_float4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_half.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fadd_half.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_double.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_double.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_double2.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_double2.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_float.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_float.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_float4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_float4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_half.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fdiv_half.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_double.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_double.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_double2.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_double2.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_float.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_float.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_float4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_float4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_half.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmod_half.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_double.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_double.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_double2.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_double2.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_float.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_float.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_float4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_float4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_half.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fmul_half.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_double.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_double.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_double2.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_double2.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_float.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_float.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_float4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_float4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_half.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/frem_half.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_double.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_double.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_double2.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_double2.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_float.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_float.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_float4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_float4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_half.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/fsub_half.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/label_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/label_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/lifetime_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/lifetime_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/linkage_export.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/linkage_export.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/linkage_import.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/linkage_import.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_dont_unroll.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_dont_unroll.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_none.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_none.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_unroll.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_unroll.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_dont_unroll.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_dont_unroll.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_none.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_none.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_unroll.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/loop_merge_branch_unroll.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_const.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_const.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_inline.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_inline.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_noinline.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_noinline.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_none.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_none.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_pure.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_pure.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_pure_ptr.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_function_pure_ptr.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_double.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_double.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_float.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_float.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_float4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_float4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_int.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_int.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_int4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_int4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_long.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_long.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_short.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_neg_short.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_not_int.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_not_int.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_not_int4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_not_int4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_not_long.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_not_long.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/op_not_short.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/op_not_short.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/opaque.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/opaque.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/phi_2.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/phi_2.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/phi_3.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/phi_3.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/phi_4.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/phi_4.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/select_if_dont_flatten.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/select_if_dont_flatten.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/select_if_flatten.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/select_if_flatten.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/select_if_none.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/select_if_none.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/select_switch_dont_flatten.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/select_switch_dont_flatten.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/select_switch_flatten.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/select_switch_flatten.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/select_switch_none.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/select_switch_none.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_char_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_char_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_double_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_double_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_false_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_false_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_float_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_float_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_half_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_half_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_int3_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_int3_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_int4_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_int4_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_int_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_int_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_long_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_long_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_short_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_short_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_struct_int_char_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_struct_int_char_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_struct_int_float_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_struct_int_float_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_struct_struct_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_struct_struct_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_true_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_true_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_uchar_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_uchar_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_uint_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_uint_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_ulong_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_ulong_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_ushort_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/undef_ushort_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/unreachable_simple.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/unreachable_simple.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_char16_extract.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_char16_extract.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_char16_insert.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_char16_insert.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_double2_extract.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_double2_extract.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_double2_insert.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_double2_insert.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_float4_extract.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_float4_extract.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_float4_insert.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_float4_insert.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_int4_extract.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_int4_extract.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_int4_insert.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_int4_insert.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_long2_extract.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_long2_extract.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_long2_insert.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_long2_insert.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_times_scalar_double.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_times_scalar_double.spvasm64 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_times_scalar_float.spvasm32 create mode 100644 test_conformance/spirv_new/spirv_asm/vector_times_scalar_float.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/atomic_dec_global.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/atomic_dec_global.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/atomic_inc_global.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/atomic_inc_global.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/branch_conditional.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/branch_conditional.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/branch_conditional_weighted.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/branch_conditional_weighted.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/branch_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/branch_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/composite_construct_int4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/composite_construct_int4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/composite_construct_struct.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/composite_construct_struct.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_char_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_char_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_double_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_double_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_false_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_false_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_float_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_float_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_half_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_half_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_int3_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_int3_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_int4_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_int4_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_int_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_int_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_long_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_long_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_short_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_short_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_struct_int_char_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_struct_int_char_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_struct_int_float_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_struct_int_float_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_struct_struct_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_struct_struct_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_true_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_true_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_uchar_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_uchar_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_uint_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_uint_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_ulong_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_ulong_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_ushort_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/constant_ushort_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_char_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_char_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_double_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_double_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_float_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_float_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_half_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_half_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_int3_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_int3_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_int4_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_int4_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_int_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_int_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_long_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_long_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_short_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_short_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_struct_int_char_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_struct_int_char_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_struct_int_float_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_struct_int_float_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_struct_struct_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_struct_struct_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_uchar_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_uchar_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_uint_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_uint_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_ulong_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_ulong_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_ushort_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/copy_ushort_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_aliased.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_aliased.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_alignment.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_alignment.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_coherent.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_coherent.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_constant.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_constant.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_constant_fail.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_constant_fail.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_cpacked.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_cpacked.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_nonreadable.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_nonreadable.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_nonwritable.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_nonwritable.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_restrict.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_restrict.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_double_long.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_double_long.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_float_int.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_float_int.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_double_long.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_double_long.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_float_int.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_float_int.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_double_long.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_double_long.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_float_int.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_float_int.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_double_long.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_double_long.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_float_int.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_float_int.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_char.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_char.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_int.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_int.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_short.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_short.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uchar.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uchar.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uint.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uint.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_ushort.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_ushort.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_volatile.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/decorate_volatile.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_double.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_double.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_double2.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_double2.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_float.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_float.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_float4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_float4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_half.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fadd_half.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_double.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_double.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_double2.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_double2.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_float.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_float.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_float4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_float4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_half.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fdiv_half.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_double.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_double.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_double2.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_double2.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_float.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_float.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_float4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_float4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_half.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmod_half.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_double.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_double.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_double2.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_double2.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_float.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_float.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_float4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_float4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_half.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fmul_half.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_double.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_double.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_double2.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_double2.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_float.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_float.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_float4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_float4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_half.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/frem_half.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_double.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_double.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_double2.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_double2.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_float.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_float.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_float4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_float4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_half.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/fsub_half.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/label_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/label_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/lifetime_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/lifetime_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/linkage_export.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/linkage_export.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/linkage_import.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/linkage_import.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_dont_unroll.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_dont_unroll.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_none.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_none.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_unroll.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_unroll.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_dont_unroll.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_dont_unroll.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_none.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_none.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_unroll.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/loop_merge_branch_unroll.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_const.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_const.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_inline.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_inline.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_noinline.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_noinline.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_none.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_none.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_pure.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_pure.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_pure_ptr.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_function_pure_ptr.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_double.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_double.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_float.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_float.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_float4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_float4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_int.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_int.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_int4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_int4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_long.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_long.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_short.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_neg_short.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_not_int.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_not_int.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_not_int4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_not_int4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_not_long.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_not_long.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_not_short.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/op_not_short.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/opaque.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/opaque.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/phi_2.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/phi_2.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/phi_3.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/phi_3.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/phi_4.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/phi_4.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_if_dont_flatten.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_if_dont_flatten.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_if_flatten.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_if_flatten.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_if_none.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_if_none.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_switch_dont_flatten.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_switch_dont_flatten.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_switch_flatten.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_switch_flatten.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_switch_none.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/select_switch_none.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_char_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_char_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_double_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_double_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_false_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_false_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_float_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_float_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_half_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_half_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_int3_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_int3_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_int4_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_int4_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_int_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_int_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_long_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_long_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_short_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_short_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_struct_int_char_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_struct_int_char_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_struct_int_float_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_struct_int_float_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_struct_struct_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_struct_struct_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_true_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_true_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_uchar_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_uchar_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_uint_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_uint_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_ulong_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_ulong_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_ushort_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/undef_ushort_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/unreachable_simple.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/unreachable_simple.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_char16_extract.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_char16_extract.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_char16_insert.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_char16_insert.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_double2_extract.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_double2_extract.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_double2_insert.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_double2_insert.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_float4_extract.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_float4_extract.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_float4_insert.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_float4_insert.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_int4_extract.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_int4_extract.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_int4_insert.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_int4_insert.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_long2_extract.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_long2_extract.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_long2_insert.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_long2_insert.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_times_scalar_double.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_times_scalar_double.spvasm64 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_times_scalar_float.spvasm32 delete mode 100644 test_conformance/spirv_new/spirv_txt/vector_times_scalar_float.spvasm64 diff --git a/test_conformance/spirv_new/README.txt b/test_conformance/spirv_new/README.txt index 71beaade..0b4f2095 100644 --- a/test_conformance/spirv_new/README.txt +++ b/test_conformance/spirv_new/README.txt @@ -1,13 +1,13 @@ test_conformance/spirv_new README ================================== -The text versions of the spirv files are present in `conformance-tests/test_conformance/spriv_new/spirv_txt`. +The text versions of the spirv files are present in `conformance-tests/test_conformance/spriv_new/spirv_asm`. These text files have been used to generate the binaries in `spirv_bin` using the assembler from `spirv-tools`. -The absolute path to `spirv_bin` needs to be passed after `-ILPath` token for the test to find the SPIRV binaries. +The absolute path to `spirv_bin` needs to be passed after `--spirv-binaries-path` token for the test to find the SPIRV binaries. An example invocation looks like the following: ``` -./test_conformance/spirv_new/test_conformance_spirv_new -ILPath /home/user/workspace/conformance-tests/test_conformance/spirv_new/spirv_bin/ [other options] +./test_conformance/spirv_new/test_conformance_spirv_new --spirv-binaries-path /home/user/workspace/conformance-tests/test_conformance/spirv_new/spirv_bin/ [other options] ``` diff --git a/test_conformance/spirv_new/spirv_asm/atomic_dec_global.spvasm32 b/test_conformance/spirv_new/spirv_asm/atomic_dec_global.spvasm32 new file mode 100644 index 00000000..23362014 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/atomic_dec_global.spvasm32 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "atomic_dec_global" + OpName %__spirv_GlobalInvocationId "__spirv_GlobalInvocationId" + OpName %val "val" + OpName %counter "counter" + OpDecorate %__spirv_GlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_GlobalInvocationId Constant + OpDecorate %val FuncParamAttr NoCapture + OpDecorate %__spirv_GlobalInvocationId LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %uint_1 = OpConstant %uint 1 + %uint_512 = OpConstant %uint 512 +%__spirv_GlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %val = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %counter = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpLoad %v3uint %__spirv_GlobalInvocationId Aligned 0 + %15 = OpCompositeExtract %uint %14 0 + %16 = OpAtomicIDecrement %uint %counter %uint_1 %uint_512 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %val %15 + OpStore %17 %16 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/atomic_dec_global.spvasm64 b/test_conformance/spirv_new/spirv_asm/atomic_dec_global.spvasm64 new file mode 100644 index 00000000..683a0a51 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/atomic_dec_global.spvasm64 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "atomic_dec_global" + OpName %__spirv_GlobalInvocationId "__spirv_GlobalInvocationId" + OpName %val "val" + OpName %counter "counter" + OpDecorate %__spirv_GlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_GlobalInvocationId Constant + OpDecorate %val FuncParamAttr NoCapture + OpDecorate %__spirv_GlobalInvocationId LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %uint_1 = OpConstant %uint 1 + %uint_512 = OpConstant %uint 512 + %ulong_32 = OpConstant %ulong 32 +%__spirv_GlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %val = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %counter = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %15 = OpLabel + %16 = OpLoad %v3ulong %__spirv_GlobalInvocationId Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpAtomicIDecrement %uint %counter %uint_1 %uint_512 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %val %19 + OpStore %21 %20 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/atomic_inc_global.spvasm32 b/test_conformance/spirv_new/spirv_asm/atomic_inc_global.spvasm32 new file mode 100644 index 00000000..22ee479c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/atomic_inc_global.spvasm32 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "atomic_inc_global" + OpName %__spirv_GlobalInvocationId "__spirv_GlobalInvocationId" + OpName %val "val" + OpName %counter "counter" + OpDecorate %__spirv_GlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_GlobalInvocationId Constant + OpDecorate %val FuncParamAttr NoCapture + OpDecorate %__spirv_GlobalInvocationId LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %uint_1 = OpConstant %uint 1 + %uint_512 = OpConstant %uint 512 +%__spirv_GlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %val = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %counter = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpLoad %v3uint %__spirv_GlobalInvocationId Aligned 0 + %15 = OpCompositeExtract %uint %14 0 + %16 = OpAtomicIIncrement %uint %counter %uint_1 %uint_512 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %val %15 + OpStore %17 %16 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/atomic_inc_global.spvasm64 b/test_conformance/spirv_new/spirv_asm/atomic_inc_global.spvasm64 new file mode 100644 index 00000000..cc59bb9f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/atomic_inc_global.spvasm64 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "atomic_inc_global" + OpName %__spirv_GlobalInvocationId "__spirv_GlobalInvocationId" + OpName %val "val" + OpName %counter "counter" + OpDecorate %__spirv_GlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_GlobalInvocationId Constant + OpDecorate %val FuncParamAttr NoCapture + OpDecorate %__spirv_GlobalInvocationId LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %uint_1 = OpConstant %uint 1 + %uint_512 = OpConstant %uint 512 + %ulong_32 = OpConstant %ulong 32 +%__spirv_GlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %val = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %counter = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %15 = OpLabel + %16 = OpLoad %v3ulong %__spirv_GlobalInvocationId Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpAtomicIIncrement %uint %counter %uint_1 %uint_512 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %val %19 + OpStore %21 %20 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/branch_conditional.spvasm32 b/test_conformance/spirv_new/spirv_asm/branch_conditional.spvasm32 new file mode 100644 index 00000000..57419c10 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/branch_conditional.spvasm32 @@ -0,0 +1,57 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 32 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "branch_conditional" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpVariable %_ptr_Function_uint Function + %18 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %uint %18 0 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpSLessThan %bool %21 %23 + OpBranchConditional %24 %25 %26 + %25 = OpLabel + %27 = OpISub %uint %23 %21 + OpStore %17 %27 + OpBranch %28 + %26 = OpLabel + %29 = OpISub %uint %21 %23 + OpStore %17 %29 + OpBranch %28 + %28 = OpLabel + %30 = OpLoad %uint %17 + %31 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %31 %30 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/branch_conditional.spvasm64 b/test_conformance/spirv_new/spirv_asm/branch_conditional.spvasm64 new file mode 100644 index 00000000..44e50fcb --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/branch_conditional.spvasm64 @@ -0,0 +1,63 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 36 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "branch_conditional" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %21 = OpCompositeExtract %ulong %20 0 + %22 = OpShiftLeftLogical %ulong %21 %ulong_32 + %23 = OpShiftRightArithmetic %ulong %22 %ulong_32 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %27 = OpLoad %uint %26 Aligned 4 + OpStore %19 %uint_0 + %28 = OpSLessThan %bool %25 %27 + OpBranchConditional %28 %29 %30 + %29 = OpLabel + %31 = OpISub %uint %27 %25 + OpStore %19 %31 + OpBranch %32 + %30 = OpLabel + %33 = OpISub %uint %25 %27 + OpStore %19 %33 + OpBranch %32 + %32 = OpLabel + %34 = OpLoad %uint %19 + %35 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23 + OpStore %35 %34 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/branch_conditional_weighted.spvasm32 b/test_conformance/spirv_new/spirv_asm/branch_conditional_weighted.spvasm32 new file mode 100644 index 00000000..ce37a4d0 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/branch_conditional_weighted.spvasm32 @@ -0,0 +1,57 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 32 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "branch_conditional_weighted" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpVariable %_ptr_Function_uint Function + %18 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %uint %18 0 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpSLessThan %bool %21 %23 + OpBranchConditional %24 %25 %26 4 6 + %25 = OpLabel + %27 = OpISub %uint %23 %21 + OpStore %17 %27 + OpBranch %28 + %26 = OpLabel + %29 = OpISub %uint %21 %23 + OpStore %17 %29 + OpBranch %28 + %28 = OpLabel + %30 = OpLoad %uint %17 + %31 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %31 %30 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/branch_conditional_weighted.spvasm64 b/test_conformance/spirv_new/spirv_asm/branch_conditional_weighted.spvasm64 new file mode 100644 index 00000000..d30c281a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/branch_conditional_weighted.spvasm64 @@ -0,0 +1,63 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 36 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "branch_conditional_weighted" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %21 = OpCompositeExtract %ulong %20 0 + %22 = OpShiftLeftLogical %ulong %21 %ulong_32 + %23 = OpShiftRightArithmetic %ulong %22 %ulong_32 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %27 = OpLoad %uint %26 Aligned 4 + OpStore %19 %uint_0 + %28 = OpSLessThan %bool %25 %27 + OpBranchConditional %28 %29 %30 4 6 + %29 = OpLabel + %31 = OpISub %uint %27 %25 + OpStore %19 %31 + OpBranch %32 + %30 = OpLabel + %33 = OpISub %uint %25 %27 + OpStore %19 %33 + OpBranch %32 + %32 = OpLabel + %34 = OpLoad %uint %19 + %35 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23 + OpStore %35 %34 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/branch_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/branch_simple.spvasm32 new file mode 100644 index 00000000..07b6cd24 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/branch_simple.spvasm32 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "branch_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %10 = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %10 %13 + %16 = OpLoad %uint %14 + OpBranch %17 + %17 = OpLabel + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/branch_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/branch_simple.spvasm64 new file mode 100644 index 00000000..1b24c5d4 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/branch_simple.spvasm64 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "branch_simple" + OpName %in "in" + OpName %out "out" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17 + OpBranch %20 + %20 = OpLabel + %21 = OpLoad %uint %18 + OpStore %19 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/composite_construct_int4.spvasm32 b/test_conformance/spirv_new/spirv_asm/composite_construct_int4.spvasm32 new file mode 100644 index 00000000..2b6d7ad0 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/composite_construct_int4.spvasm32 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "composite_construct_int4" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %uint_119 = OpConstant %uint 119 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpCompositeConstruct %v4uint %uint_123 %uint_122 %uint_121 %uint_119 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %17 + OpStore %19 %18 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/composite_construct_int4.spvasm64 b/test_conformance/spirv_new/spirv_asm/composite_construct_int4.spvasm64 new file mode 100644 index 00000000..09f6d9b1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/composite_construct_int4.spvasm64 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "composite_construct_int4" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint + %ulong_32 = OpConstant %ulong 32 + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %uint_119 = OpConstant %uint 119 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpCompositeConstruct %v4uint %uint_123 %uint_122 %uint_121 %uint_119 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %21 + OpStore %23 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/composite_construct_struct.spvasm32 b/test_conformance/spirv_new/spirv_asm/composite_construct_struct.spvasm32 new file mode 100644 index 00000000..e277912d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/composite_construct_struct.spvasm32 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "composite_construct_struct" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v2uint = OpTypeVector %uint 2 + %uchar = OpTypeInt 8 0 + %_struct_10 = OpTypeStruct %uint %uchar + %_struct_11 = OpTypeStruct %v2uint %_struct_10 +%_ptr_CrossWorkgroup__struct_11 = OpTypePointer CrossWorkgroup %_struct_11 + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_11 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 +%uint_2100480000 = OpConstant %uint 2100480000 +%uint_2100480000_0 = OpConstant %uint 2100480000 + %18 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_11 + %19 = OpLabel + %20 = OpCompositeConstruct %_struct_10 %uint_2100483600 %uchar_128 + %21 = OpCompositeConstruct %_struct_11 %18 %20 + %22 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %23 = OpCompositeExtract %uint %22 0 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_11 %in %23 + OpStore %24 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/composite_construct_struct.spvasm64 b/test_conformance/spirv_new/spirv_asm/composite_construct_struct.spvasm64 new file mode 100644 index 00000000..ed5422dc --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/composite_construct_struct.spvasm64 @@ -0,0 +1,48 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 29 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "composite_construct_struct" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v2uint = OpTypeVector %uint 2 + %uchar = OpTypeInt 8 0 + %_struct_11 = OpTypeStruct %uint %uchar + %_struct_12 = OpTypeStruct %v2uint %_struct_11 +%_ptr_CrossWorkgroup__struct_12 = OpTypePointer CrossWorkgroup %_struct_12 + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_12 + %ulong_32 = OpConstant %ulong 32 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 +%uint_2100480000 = OpConstant %uint 2100480000 +%uint_2100480000_0 = OpConstant %uint 2100480000 + %20 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_12 + %21 = OpLabel + %22 = OpCompositeConstruct %_struct_11 %uint_2100483600 %uchar_128 + %23 = OpCompositeConstruct %_struct_12 %20 %22 + %24 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %25 = OpCompositeExtract %ulong %24 0 + %26 = OpShiftLeftLogical %ulong %25 %ulong_32 + %27 = OpShiftRightArithmetic %ulong %26 %ulong_32 + %28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_12 %in %27 + OpStore %28 %23 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_char_simple.spvasm32 new file mode 100644 index 00000000..7931958d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_char_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %uchar_20 = OpConstant %uchar 20 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14 + OpStore %15 %uchar_20 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_char_simple.spvasm64 new file mode 100644 index 00000000..a356232c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_char_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %ulong_32 = OpConstant %ulong 32 + %uchar_20 = OpConstant %uchar 20 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17 + OpStore %18 %uchar_20 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_double_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_double_simple.spvasm32 new file mode 100644 index 00000000..3d2651f5 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_double_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_double_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double +%double_3_1415926535897931 = OpConstant %double 3.1415926535897931 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %14 + OpStore %15 %double_3_1415926535897931 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_double_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_double_simple.spvasm64 new file mode 100644 index 00000000..807916da --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_double_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_double_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%double_3_1415926535897931 = OpConstant %double 3.1415926535897931 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17 + OpStore %18 %double_3_1415926535897931 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_false_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_false_simple.spvasm32 new file mode 100644 index 00000000..19c2b518 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_false_simple.spvasm32 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_false_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %bool = OpTypeBool +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %false = OpConstantFalse %bool + %uint_1 = OpConstant %uint 1 + %uint_0 = OpConstant %uint 0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %14 = OpLabel + %15 = OpSelect %uint %false %uint_1 %uint_0 + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + OpStore %18 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_false_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_false_simple.spvasm64 new file mode 100644 index 00000000..1c1980e0 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_false_simple.spvasm64 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_false_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %bool = OpTypeBool +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 + %false = OpConstantFalse %bool + %uint_1 = OpConstant %uint 1 + %uint_0 = OpConstant %uint 0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpSelect %uint %false %uint_1 %uint_0 + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %21 + OpStore %22 %17 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_float_simple.spvasm32 new file mode 100644 index 00000000..3286c757 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_float_simple.spvasm32 @@ -0,0 +1,33 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float +%float_3_14159274 = OpConstant %float 3.14159274 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %14 + OpStore %15 %float_3_14159274 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_float_simple.spvasm64 new file mode 100644 index 00000000..f91b2bf2 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_float_simple.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%float_3_14159274 = OpConstant %float 3.14159274 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %17 + OpStore %18 %float_3_14159274 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_half_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_half_simple.spvasm32 new file mode 100644 index 00000000..59e4e2cb --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_half_simple.spvasm32 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_half_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float +%half_0x1_ap_1 = OpConstant %half 0x1.ap+1 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %13 = OpLabel + %14 = OpFConvert %float %half_0x1_ap_1 + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %16 + OpStore %17 %14 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_half_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_half_simple.spvasm64 new file mode 100644 index 00000000..40047087 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_half_simple.spvasm64 @@ -0,0 +1,40 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_half_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%half_0x1_ap_1 = OpConstant %half 0x1.ap+1 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %14 = OpLabel + %15 = OpFConvert %float %half_0x1_ap_1 + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %19 + OpStore %20 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_int3_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_int3_simple.spvasm32 new file mode 100644 index 00000000..b80809f3 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_int3_simple.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_int3_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %13 = OpConstantComposite %v3uint %uint_123 %uint_122 %uint_121 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint + %14 = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %16 + OpStore %17 %13 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_int3_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_int3_simple.spvasm64 new file mode 100644 index 00000000..2c302162 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_int3_simple.spvasm64 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_int3_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint + %ulong_32 = OpConstant %ulong 32 + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %16 = OpConstantComposite %v3uint %uint_123 %uint_122 %uint_121 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %21 + OpStore %22 %16 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_int4_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_int4_simple.spvasm32 new file mode 100644 index 00000000..7e6c2bb8 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_int4_simple.spvasm32 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_int4_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %uint_119 = OpConstant %uint 119 + %15 = OpConstantComposite %v4uint %uint_123 %uint_122 %uint_121 %uint_119 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %16 = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %18 + OpStore %19 %15 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_int4_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_int4_simple.spvasm64 new file mode 100644 index 00000000..7c5b5fb5 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_int4_simple.spvasm64 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_int4_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint + %ulong_32 = OpConstant %ulong 32 + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %uint_119 = OpConstant %uint 119 + %17 = OpConstantComposite %v4uint %uint_123 %uint_122 %uint_121 %uint_119 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %18 = OpLabel + %19 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %20 = OpCompositeExtract %ulong %19 0 + %21 = OpShiftLeftLogical %ulong %20 %ulong_32 + %22 = OpShiftRightArithmetic %ulong %21 %ulong_32 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %22 + OpStore %23 %17 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_int_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_int_simple.spvasm32 new file mode 100644 index 00000000..c5bd8bf9 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_int_simple.spvasm32 @@ -0,0 +1,32 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 15 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_int_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %uint_123 = OpConstant %uint 123 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13 + OpStore %14 %uint_123 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_int_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_int_simple.spvasm64 new file mode 100644 index 00000000..1ddb08ac --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_int_simple.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_int_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 + %uint_123 = OpConstant %uint 123 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + OpStore %18 %uint_123 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_long_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_long_simple.spvasm32 new file mode 100644 index 00000000..e0a8b6f1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_long_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_long_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong +%ulong_34359738368 = OpConstant %ulong 34359738368 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14 + OpStore %15 %ulong_34359738368 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_long_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_long_simple.spvasm64 new file mode 100644 index 00000000..7091209c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_long_simple.spvasm64 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_long_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong + %ulong_32 = OpConstant %ulong 32 +%ulong_34359738368 = OpConstant %ulong 34359738368 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16 + OpStore %17 %ulong_34359738368 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_short_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_short_simple.spvasm32 new file mode 100644 index 00000000..3b53e16c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_short_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_short_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort +%ushort_32000 = OpConstant %ushort 32000 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14 + OpStore %15 %ushort_32000 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_short_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_short_simple.spvasm64 new file mode 100644 index 00000000..d95032b7 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_short_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_short_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort + %ulong_32 = OpConstant %ulong 32 +%ushort_32000 = OpConstant %ushort 32000 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17 + OpStore %18 %ushort_32000 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_struct_int_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_struct_int_char_simple.spvasm32 new file mode 100644 index 00000000..cf617c65 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_struct_int_char_simple.spvasm32 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_struct_int_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 + %_struct_9 = OpTypeStruct %uint %uchar +%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9 + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 + %14 = OpConstantComposite %_struct_9 %uint_2100483600 %uchar_128 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9 + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %17 + OpStore %18 %14 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_struct_int_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_struct_int_char_simple.spvasm64 new file mode 100644 index 00000000..25546675 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_struct_int_char_simple.spvasm64 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_struct_int_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uchar = OpTypeInt 8 0 + %_struct_10 = OpTypeStruct %uint %uchar +%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10 + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10 + %ulong_32 = OpConstant %ulong 32 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 + %16 = OpConstantComposite %_struct_10 %uint_2100483600 %uchar_128 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10 + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %21 + OpStore %22 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_struct_int_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_struct_int_float_simple.spvasm32 new file mode 100644 index 00000000..becd9e64 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_struct_int_float_simple.spvasm32 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Kernel + OpCapability Linkage + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_struct_int_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %_struct_9 = OpTypeStruct %uint %float +%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9 + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9 + %uint_1024 = OpConstant %uint 1024 +%float_3_1415 = OpConstant %float 3.1415 + %14 = OpConstantComposite %_struct_9 %uint_1024 %float_3_1415 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9 + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %17 + OpStore %18 %14 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_struct_int_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_struct_int_float_simple.spvasm64 new file mode 100644 index 00000000..96d85db7 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_struct_int_float_simple.spvasm64 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_struct_int_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %float = OpTypeFloat 32 + %_struct_10 = OpTypeStruct %uint %float +%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10 + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10 + %ulong_32 = OpConstant %ulong 32 + %uint_1024 = OpConstant %uint 1024 +%float_3_1415 = OpConstant %float 3.1415 + %16 = OpConstantComposite %_struct_10 %uint_1024 %float_3_1415 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10 + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %21 + OpStore %22 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_struct_struct_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_struct_struct_simple.spvasm32 new file mode 100644 index 00000000..23ae86ee --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_struct_struct_simple.spvasm32 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Kernel + OpCapability Linkage + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_struct_struct_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v2uint = OpTypeVector %uint 2 + %uchar = OpTypeInt 8 0 + %_struct_10 = OpTypeStruct %uint %uchar + %_struct_11 = OpTypeStruct %v2uint %_struct_10 +%_ptr_CrossWorkgroup__struct_11 = OpTypePointer CrossWorkgroup %_struct_11 + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_11 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 +%uint_2100480000 = OpConstant %uint 2100480000 +%uint_2100480000_0 = OpConstant %uint 2100480000 + %18 = OpConstantComposite %_struct_10 %uint_2100483600 %uchar_128 + %19 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0 + %20 = OpConstantComposite %_struct_11 %19 %18 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_11 + %21 = OpLabel + %22 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %23 = OpCompositeExtract %uint %22 0 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_11 %in %23 + OpStore %24 %20 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_struct_struct_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_struct_struct_simple.spvasm64 new file mode 100644 index 00000000..3c3cf2e6 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_struct_struct_simple.spvasm64 @@ -0,0 +1,48 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 29 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_struct_struct_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v2uint = OpTypeVector %uint 2 + %uchar = OpTypeInt 8 0 + %_struct_11 = OpTypeStruct %uint %uchar + %_struct_12 = OpTypeStruct %v2uint %_struct_11 +%_ptr_CrossWorkgroup__struct_12 = OpTypePointer CrossWorkgroup %_struct_12 + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_12 + %ulong_32 = OpConstant %ulong 32 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 +%uint_2100480000 = OpConstant %uint 2100480000 +%uint_2100480000_0 = OpConstant %uint 2100480000 + %20 = OpConstantComposite %_struct_11 %uint_2100483600 %uchar_128 + %21 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0 + %22 = OpConstantComposite %_struct_12 %21 %20 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_12 + %23 = OpLabel + %24 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %25 = OpCompositeExtract %ulong %24 0 + %26 = OpShiftLeftLogical %ulong %25 %ulong_32 + %27 = OpShiftRightArithmetic %ulong %26 %ulong_32 + %28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_12 %in %27 + OpStore %28 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_true_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_true_simple.spvasm32 new file mode 100644 index 00000000..8b3733db --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_true_simple.spvasm32 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_true_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %bool = OpTypeBool +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %true = OpConstantTrue %bool + %uint_1 = OpConstant %uint 1 + %uint_0 = OpConstant %uint 0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %14 = OpLabel + %15 = OpSelect %uint %true %uint_1 %uint_0 + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + OpStore %18 %15 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_true_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_true_simple.spvasm64 new file mode 100644 index 00000000..da72dc66 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_true_simple.spvasm64 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_true_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %bool = OpTypeBool +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 + %true = OpConstantTrue %bool + %uint_1 = OpConstant %uint 1 + %uint_0 = OpConstant %uint 0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpSelect %uint %true %uint_1 %uint_0 + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %21 + OpStore %22 %17 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_uchar_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_uchar_simple.spvasm32 new file mode 100644 index 00000000..a62d571f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_uchar_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_uchar_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %uchar_19 = OpConstant %uchar 19 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14 + OpStore %15 %uchar_19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_uchar_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_uchar_simple.spvasm64 new file mode 100644 index 00000000..bba25514 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_uchar_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_uchar_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %ulong_32 = OpConstant %ulong 32 + %uchar_19 = OpConstant %uchar 19 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17 + OpStore %18 %uchar_19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_uint_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_uint_simple.spvasm32 new file mode 100644 index 00000000..5c8de260 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_uint_simple.spvasm32 @@ -0,0 +1,32 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 15 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_uint_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %uint_54321 = OpConstant %uint 54321 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13 + OpStore %14 %uint_54321 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_uint_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_uint_simple.spvasm64 new file mode 100644 index 00000000..1271b0ff --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_uint_simple.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_uint_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 + %uint_54321 = OpConstant %uint 54321 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + OpStore %18 %uint_54321 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_ulong_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_ulong_simple.spvasm32 new file mode 100644 index 00000000..b69d82ad --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_ulong_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_ulong_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong +%ulong_9223372036854775810 = OpConstant %ulong 9223372036854775810 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14 + OpStore %15 %ulong_9223372036854775810 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_ulong_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_ulong_simple.spvasm64 new file mode 100644 index 00000000..a53f9027 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_ulong_simple.spvasm64 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_ulong_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong + %ulong_32 = OpConstant %ulong 32 +%ulong_9223372036854775810 = OpConstant %ulong 9223372036854775810 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16 + OpStore %17 %ulong_9223372036854775810 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_ushort_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/constant_ushort_simple.spvasm32 new file mode 100644 index 00000000..ed309bf1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_ushort_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "constant_ushort_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort +%ushort_65000 = OpConstant %ushort 65000 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14 + OpStore %15 %ushort_65000 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/constant_ushort_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/constant_ushort_simple.spvasm64 new file mode 100644 index 00000000..be521745 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/constant_ushort_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "constant_ushort_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort + %ulong_32 = OpConstant %ulong 32 +%ushort_65000 = OpConstant %ushort 65000 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17 + OpStore %18 %ushort_65000 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_char_simple.spvasm32 new file mode 100644 index 00000000..5ad09c77 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_char_simple.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %uchar_20 = OpConstant %uchar 20 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14 + %16 = OpCopyObject %uchar %uchar_20 + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_char_simple.spvasm64 new file mode 100644 index 00000000..6faa1447 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_char_simple.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %ulong_32 = OpConstant %ulong 32 + %uchar_20 = OpConstant %uchar 20 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17 + %19 = OpCopyObject %uchar %uchar_20 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_double_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_double_simple.spvasm32 new file mode 100644 index 00000000..3023c943 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_double_simple.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_double_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double +%double_3_1415926535897931 = OpConstant %double 3.1415926535897931 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %14 + %16 = OpCopyObject %double %double_3_1415926535897931 + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_double_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_double_simple.spvasm64 new file mode 100644 index 00000000..3fa7f966 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_double_simple.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_double_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%double_3_1415926535897931 = OpConstant %double 3.1415926535897931 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17 + %19 = OpCopyObject %double %double_3_1415926535897931 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_float_simple.spvasm32 new file mode 100644 index 00000000..d7ef29c5 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_float_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float +%float_3_14159274 = OpConstant %float 3.14159274 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %14 + %16 = OpCopyObject %float %float_3_14159274 + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_float_simple.spvasm64 new file mode 100644 index 00000000..4594c1c0 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_float_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%float_3_14159274 = OpConstant %float 3.14159274 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %17 + %19 = OpCopyObject %float %float_3_14159274 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_half_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_half_simple.spvasm32 new file mode 100644 index 00000000..b0af90a8 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_half_simple.spvasm32 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_half_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float +%half_0x1_ap_1 = OpConstant %half 0x1.ap+1 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %13 = OpLabel + %14 = OpCopyObject %half %half_0x1_ap_1 + %15 = OpFConvert %float %14 + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %17 + OpStore %18 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_half_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_half_simple.spvasm64 new file mode 100644 index 00000000..b9eeca96 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_half_simple.spvasm64 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_half_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%half_0x1_ap_1 = OpConstant %half 0x1.ap+1 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %14 = OpLabel + %15 = OpCopyObject %half %half_0x1_ap_1 + %16 = OpFConvert %float %15 + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %20 + OpStore %21 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_int3_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_int3_simple.spvasm32 new file mode 100644 index 00000000..2f23b9d1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_int3_simple.spvasm32 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_int3_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %13 = OpConstantComposite %v3uint %uint_123 %uint_122 %uint_121 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint + %14 = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %16 + %18 = OpCopyObject %v3uint %13 + OpStore %17 %18 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_int3_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_int3_simple.spvasm64 new file mode 100644 index 00000000..0ab8b1dc --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_int3_simple.spvasm64 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_int3_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint + %ulong_32 = OpConstant %ulong 32 + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %16 = OpConstantComposite %v3uint %uint_123 %uint_122 %uint_121 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %21 + %23 = OpCopyObject %v3uint %16 + OpStore %22 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_int4_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_int4_simple.spvasm32 new file mode 100644 index 00000000..f7633a90 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_int4_simple.spvasm32 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_int4_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %uint_119 = OpConstant %uint 119 + %15 = OpConstantComposite %v4uint %uint_123 %uint_122 %uint_121 %uint_119 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %16 = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %18 + %20 = OpCopyObject %v4uint %15 + OpStore %19 %20 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_int4_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_int4_simple.spvasm64 new file mode 100644 index 00000000..62411142 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_int4_simple.spvasm64 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_int4_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint + %ulong_32 = OpConstant %ulong 32 + %uint_123 = OpConstant %uint 123 + %uint_122 = OpConstant %uint 122 + %uint_121 = OpConstant %uint 121 + %uint_119 = OpConstant %uint 119 + %17 = OpConstantComposite %v4uint %uint_123 %uint_122 %uint_121 %uint_119 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %18 = OpLabel + %19 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %20 = OpCompositeExtract %ulong %19 0 + %21 = OpShiftLeftLogical %ulong %20 %ulong_32 + %22 = OpShiftRightArithmetic %ulong %21 %ulong_32 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %22 + %24 = OpCopyObject %v4uint %17 + OpStore %23 %24 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_int_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_int_simple.spvasm32 new file mode 100644 index 00000000..c6fa2181 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_int_simple.spvasm32 @@ -0,0 +1,33 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_int_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %uint_123 = OpConstant %uint 123 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13 + %15 = OpCopyObject %uint %uint_123 + OpStore %14 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_int_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_int_simple.spvasm64 new file mode 100644 index 00000000..e068f8cd --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_int_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_int_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 + %uint_123 = OpConstant %uint 123 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + %19 = OpCopyObject %uint %uint_123 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_long_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_long_simple.spvasm32 new file mode 100644 index 00000000..52411f28 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_long_simple.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_long_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong +%ulong_34359738368 = OpConstant %ulong 34359738368 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14 + %16 = OpCopyObject %ulong %ulong_34359738368 + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_long_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_long_simple.spvasm64 new file mode 100644 index 00000000..4349ed33 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_long_simple.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_long_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong + %ulong_32 = OpConstant %ulong 32 +%ulong_34359738368 = OpConstant %ulong 34359738368 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16 + %18 = OpCopyObject %ulong %ulong_34359738368 + OpStore %17 %18 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_short_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_short_simple.spvasm32 new file mode 100644 index 00000000..924e675c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_short_simple.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_short_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort +%ushort_32000 = OpConstant %ushort 32000 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14 + %16 = OpCopyObject %ushort %ushort_32000 + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_short_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_short_simple.spvasm64 new file mode 100644 index 00000000..0be76e2a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_short_simple.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_short_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort + %ulong_32 = OpConstant %ulong 32 +%ushort_32000 = OpConstant %ushort 32000 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17 + %19 = OpCopyObject %ushort %ushort_32000 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_struct_int_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_struct_int_char_simple.spvasm32 new file mode 100644 index 00000000..1d6c526c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_struct_int_char_simple.spvasm32 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Kernel + OpCapability Linkage + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_struct_int_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 + %_struct_9 = OpTypeStruct %uint %uchar +%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9 + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 + %14 = OpConstantComposite %_struct_9 %uint_2100483600 %uchar_128 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9 + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %17 + %19 = OpCopyObject %_struct_9 %14 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_struct_int_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_struct_int_char_simple.spvasm64 new file mode 100644 index 00000000..e0387e46 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_struct_int_char_simple.spvasm64 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_struct_int_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uchar = OpTypeInt 8 0 + %_struct_10 = OpTypeStruct %uint %uchar +%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10 + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10 + %ulong_32 = OpConstant %ulong 32 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 + %16 = OpConstantComposite %_struct_10 %uint_2100483600 %uchar_128 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10 + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %21 + %23 = OpCopyObject %_struct_10 %16 + OpStore %22 %23 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_struct_int_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_struct_int_float_simple.spvasm32 new file mode 100644 index 00000000..6c0fb9da --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_struct_int_float_simple.spvasm32 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Kernel + OpCapability Linkage + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_struct_int_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %_struct_9 = OpTypeStruct %uint %float +%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9 + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9 + %uint_1024 = OpConstant %uint 1024 +%float_3_1415 = OpConstant %float 3.1415 + %14 = OpConstantComposite %_struct_9 %uint_1024 %float_3_1415 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9 + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %17 + %19 = OpCopyObject %_struct_9 %14 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_struct_int_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_struct_int_float_simple.spvasm64 new file mode 100644 index 00000000..13b549a7 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_struct_int_float_simple.spvasm64 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_struct_int_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %float = OpTypeFloat 32 + %_struct_10 = OpTypeStruct %uint %float +%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10 + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10 + %ulong_32 = OpConstant %ulong 32 + %uint_1024 = OpConstant %uint 1024 +%float_3_1415 = OpConstant %float 3.1415 + %16 = OpConstantComposite %_struct_10 %uint_1024 %float_3_1415 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10 + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %21 + %23 = OpCopyObject %_struct_10 %16 + OpStore %22 %23 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_struct_struct_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_struct_struct_simple.spvasm32 new file mode 100644 index 00000000..978e9211 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_struct_struct_simple.spvasm32 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Kernel + OpCapability Int8 + OpCapability Linkage + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_struct_struct_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v2uint = OpTypeVector %uint 2 + %uchar = OpTypeInt 8 0 + %_struct_10 = OpTypeStruct %uint %uchar + %_struct_11 = OpTypeStruct %v2uint %_struct_10 +%_ptr_CrossWorkgroup__struct_11 = OpTypePointer CrossWorkgroup %_struct_11 + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_11 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 +%uint_2100480000 = OpConstant %uint 2100480000 +%uint_2100480000_0 = OpConstant %uint 2100480000 + %18 = OpConstantComposite %_struct_10 %uint_2100483600 %uchar_128 + %19 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0 + %20 = OpConstantComposite %_struct_11 %19 %18 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_11 + %21 = OpLabel + %22 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %23 = OpCompositeExtract %uint %22 0 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_11 %in %23 + %25 = OpCopyObject %_struct_11 %20 + OpStore %24 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_struct_struct_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_struct_struct_simple.spvasm64 new file mode 100644 index 00000000..29f4b46d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_struct_struct_simple.spvasm64 @@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 30 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_struct_struct_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v2uint = OpTypeVector %uint 2 + %uchar = OpTypeInt 8 0 + %_struct_11 = OpTypeStruct %uint %uchar + %_struct_12 = OpTypeStruct %v2uint %_struct_11 +%_ptr_CrossWorkgroup__struct_12 = OpTypePointer CrossWorkgroup %_struct_12 + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_12 + %ulong_32 = OpConstant %ulong 32 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_128 = OpConstant %uchar 128 +%uint_2100480000 = OpConstant %uint 2100480000 +%uint_2100480000_0 = OpConstant %uint 2100480000 + %20 = OpConstantComposite %_struct_11 %uint_2100483600 %uchar_128 + %21 = OpConstantComposite %v2uint %uint_2100480000 %uint_2100480000_0 + %22 = OpConstantComposite %_struct_12 %21 %20 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_12 + %23 = OpLabel + %24 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %25 = OpCompositeExtract %ulong %24 0 + %26 = OpShiftLeftLogical %ulong %25 %ulong_32 + %27 = OpShiftRightArithmetic %ulong %26 %ulong_32 + %28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_12 %in %27 + %29 = OpCopyObject %_struct_12 %22 + OpStore %28 %29 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_uchar_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_uchar_simple.spvasm32 new file mode 100644 index 00000000..0450ba01 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_uchar_simple.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_uchar_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %uchar_19 = OpConstant %uchar 19 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14 + %16 = OpCopyObject %uchar %uchar_19 + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_uchar_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_uchar_simple.spvasm64 new file mode 100644 index 00000000..87072e3f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_uchar_simple.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_uchar_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %ulong_32 = OpConstant %ulong 32 + %uchar_19 = OpConstant %uchar 19 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17 + %19 = OpCopyObject %uchar %uchar_19 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_uint_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_uint_simple.spvasm32 new file mode 100644 index 00000000..e36766f6 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_uint_simple.spvasm32 @@ -0,0 +1,33 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_uint_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %uint_54321 = OpConstant %uint 54321 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13 + %15 = OpCopyObject %uint %uint_54321 + OpStore %14 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_uint_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_uint_simple.spvasm64 new file mode 100644 index 00000000..c0af753c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_uint_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_uint_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 + %uint_54321 = OpConstant %uint 54321 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + %19 = OpCopyObject %uint %uint_54321 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_ulong_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_ulong_simple.spvasm32 new file mode 100644 index 00000000..678a5f3a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_ulong_simple.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_ulong_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong +%ulong_9223372036854775810 = OpConstant %ulong 9223372036854775810 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14 + %16 = OpCopyObject %ulong %ulong_9223372036854775810 + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_ulong_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_ulong_simple.spvasm64 new file mode 100644 index 00000000..caf6e552 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_ulong_simple.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_ulong_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong + %ulong_32 = OpConstant %ulong 32 +%ulong_9223372036854775810 = OpConstant %ulong 9223372036854775810 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16 + %18 = OpCopyObject %ulong %ulong_9223372036854775810 + OpStore %17 %18 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_ushort_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/copy_ushort_simple.spvasm32 new file mode 100644 index 00000000..f6fbcdb0 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_ushort_simple.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "copy_ushort_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort +%ushort_65000 = OpConstant %ushort 65000 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14 + %16 = OpCopyObject %ushort %ushort_65000 + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/copy_ushort_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/copy_ushort_simple.spvasm64 new file mode 100644 index 00000000..fd6b1c25 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/copy_ushort_simple.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "copy_ushort_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort + %ulong_32 = OpConstant %ulong 32 +%ushort_65000 = OpConstant %ushort 65000 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17 + %19 = OpCopyObject %ushort %ushort_65000 + OpStore %18 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_aliased.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_aliased.spvasm32 new file mode 100644 index 00000000..94bf154a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_aliased.spvasm32 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_aliased" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Aliased + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %uint %14 0 + %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 + %17 = OpLoad %uint %16 Aligned 4 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 + %19 = OpLoad %uint %18 Aligned 4 + %20 = OpIAdd %uint %17 %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15 + OpStore %21 %20 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_aliased.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_aliased.spvasm64 new file mode 100644 index 00000000..e57a5ff1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_aliased.spvasm64 @@ -0,0 +1,48 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_aliased" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Aliased + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpIAdd %uint %21 %23 + %25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %25 %24 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_alignment.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_alignment.spvasm32 new file mode 100644 index 00000000..b2a2ae26 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_alignment.spvasm32 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_alignment" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Alignment 4 + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %uint %14 0 + %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 + %17 = OpLoad %uint %16 Aligned 4 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 + %19 = OpLoad %uint %18 Aligned 4 + %20 = OpIAdd %uint %17 %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15 + OpStore %21 %20 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_alignment.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_alignment.spvasm64 new file mode 100644 index 00000000..f6bb8520 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_alignment.spvasm64 @@ -0,0 +1,48 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_alignment" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Alignment 4 + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpIAdd %uint %21 %23 + %25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %25 %24 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_coherent.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_coherent.spvasm32 new file mode 100644 index 00000000..eddcdb30 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_coherent.spvasm32 @@ -0,0 +1,80 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 40 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability ImageBasic + OpCapability LiteralSampler + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "decorate_coherent" + OpName %sampler "sampler" + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize" + OpName %dst "dst" + OpName %src "src" + OpName %entry "entry" + OpName %call "call" + OpName %call1 "call1" + OpName %call2 "call2" + OpName %mul "mul" + OpName %add "add" + OpName %vecinit "vecinit" + OpName %vecinit6 "vecinit6" + OpName %TempSampledImage "TempSampledImage" + OpName %call7_old "call7.old" + OpName %arrayidx "arrayidx" + OpDecorate %src Coherent + OpDecorate %19 Constant + %19 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize + OpDecorate %dst FuncParamAttr NoCapture + OpDecorate %sampler LinkageAttributes "sampler" Export + OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %sampler Alignment 4 + OpGroupDecorate %19 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize + %uint = OpTypeInt 32 0 + %uint_16 = OpConstant %uint 16 +%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %28 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly + %29 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %28 + %v2uint = OpTypeVector %uint 2 + %31 = OpTypeSampler + %32 = OpTypeSampledImage %28 + %float = OpTypeFloat 32 + %34 = OpConstantSampler %31 None 0 Nearest + %float_0 = OpConstant %float 0 + %sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16 +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant +%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %29 + %dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %src = OpFunctionParameter %28 + %entry = OpLabel + %36 = OpUndef %v2uint + %37 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call = OpCompositeExtract %uint %37 0 + %38 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call1 = OpCompositeExtract %uint %38 1 + %39 = OpLoad %v3uint %__spirv_BuiltInGlobalSize Aligned 0 + %call2 = OpCompositeExtract %uint %39 0 + %mul = OpIMul %uint %call2 %call1 + %add = OpIAdd %uint %mul %call + %vecinit = OpCompositeInsert %v2uint %call1 %36 0 + %vecinit6 = OpCompositeInsert %v2uint %call %vecinit 1 +%TempSampledImage = OpSampledImage %32 %src %34 + %call7_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit6 Lod %float_0 + %arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %add + OpStore %arrayidx %call7_old Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_coherent.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_coherent.spvasm64 new file mode 100644 index 00000000..d86a9846 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_coherent.spvasm64 @@ -0,0 +1,93 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 47 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability ImageBasic + OpCapability LiteralSampler + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "decorate_coherent" + OpName %sampler "sampler" + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize" + OpName %dst "dst" + OpName %src "src" + OpName %entry "entry" + OpName %call "call" + OpName %conv "conv" + OpName %call1 "call1" + OpName %conv2 "conv2" + OpName %conv3 "conv3" + OpName %call4 "call4" + OpName %mul "mul" + OpName %add "add" + OpName %vecinit "vecinit" + OpName %vecinit10 "vecinit10" + OpName %TempSampledImage "TempSampledImage" + OpName %call11_old "call11.old" + OpName %sext "sext" + OpName %idxprom "idxprom" + OpName %arrayidx "arrayidx" + OpDecorate %src Coherent + OpDecorate %24 Constant + %24 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize + OpDecorate %dst FuncParamAttr NoCapture + OpDecorate %sampler LinkageAttributes "sampler" Export + OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %sampler Alignment 4 + OpGroupDecorate %24 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize + %uint = OpTypeInt 32 0 + %ulong = OpTypeInt 64 0 + %uint_16 = OpConstant %uint 16 + %ulong_32 = OpConstant %ulong 32 +%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %35 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly + %36 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %35 + %v2uint = OpTypeVector %uint 2 + %38 = OpTypeSampler + %39 = OpTypeSampledImage %35 + %float = OpTypeFloat 32 + %41 = OpConstantSampler %38 None 0 Nearest + %float_0 = OpConstant %float 0 + %sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16 +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant +%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %36 + %dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %src = OpFunctionParameter %35 + %entry = OpLabel + %43 = OpUndef %v2uint + %44 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call = OpCompositeExtract %ulong %44 0 + %conv = OpUConvert %uint %call + %45 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call1 = OpCompositeExtract %ulong %45 1 + %conv2 = OpUConvert %uint %call1 + %conv3 = OpSConvert %ulong %conv2 + %46 = OpLoad %v3ulong %__spirv_BuiltInGlobalSize Aligned 0 + %call4 = OpCompositeExtract %ulong %46 0 + %mul = OpIMul %ulong %conv3 %call4 + %add = OpIAdd %ulong %mul %call + %vecinit = OpCompositeInsert %v2uint %conv2 %43 0 + %vecinit10 = OpCompositeInsert %v2uint %conv %vecinit 1 +%TempSampledImage = OpSampledImage %39 %src %41 + %call11_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit10 Lod %float_0 + %sext = OpShiftLeftLogical %ulong %add %ulong_32 + %idxprom = OpShiftRightArithmetic %ulong %sext %ulong_32 + %arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %idxprom + OpStore %arrayidx %call11_old Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_constant.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_constant.spvasm32 new file mode 100644 index 00000000..482526db --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_constant.spvasm32 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_constant" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Constant + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %uint %14 0 + %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 + %17 = OpLoad %uint %16 Aligned 4 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 + %19 = OpLoad %uint %18 Aligned 4 + %20 = OpIAdd %uint %17 %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15 + OpStore %21 %20 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_constant.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_constant.spvasm64 new file mode 100644 index 00000000..e2c55473 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_constant.spvasm64 @@ -0,0 +1,48 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_constant" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Constant + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpIAdd %uint %21 %23 + %25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %25 %24 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_constant_fail.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_constant_fail.spvasm32 new file mode 100644 index 00000000..bf5c981f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_constant_fail.spvasm32 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_constant" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Constant + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %uint %14 0 + %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 + %17 = OpLoad %uint %16 Aligned 4 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 + %19 = OpLoad %uint %18 Aligned 4 + %20 = OpIAdd %uint %17 %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15 + OpStore %21 %20 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_constant_fail.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_constant_fail.spvasm64 new file mode 100644 index 00000000..9d8bc9d9 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_constant_fail.spvasm64 @@ -0,0 +1,48 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_constant" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Constant + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpIAdd %uint %21 %23 + %25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %25 %24 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_cpacked.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_cpacked.spvasm32 new file mode 100644 index 00000000..41503425 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_cpacked.spvasm32 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_cpacked" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %_struct_4 CPacked + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 + %_struct_4 = OpTypeStruct %uint %uchar +%_ptr_CrossWorkgroup__struct_4 = OpTypePointer CrossWorkgroup %_struct_4 + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_4 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_127 = OpConstant %uchar 127 + %14 = OpConstantComposite %_struct_4 %uint_2100483600 %uchar_127 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_4 + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_4 %in %17 + OpStore %18 %14 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_cpacked.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_cpacked.spvasm64 new file mode 100644 index 00000000..aa42b252 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_cpacked.spvasm64 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_cpacked" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %_struct_4 CPacked + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uchar = OpTypeInt 8 0 + %_struct_4 = OpTypeStruct %uint %uchar +%_ptr_CrossWorkgroup__struct_4 = OpTypePointer CrossWorkgroup %_struct_4 + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_4 + %ulong_32 = OpConstant %ulong 32 +%uint_2100483600 = OpConstant %uint 2100483600 + %uchar_127 = OpConstant %uchar 127 + %16 = OpConstantComposite %_struct_4 %uint_2100483600 %uchar_127 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_4 + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_4 %in %21 + OpStore %22 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_nonreadable.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_nonreadable.spvasm32 new file mode 100644 index 00000000..92fdb890 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_nonreadable.spvasm32 @@ -0,0 +1,66 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 31 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability ImageBasic + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "decorate_nonreadable" + OpSource OpenCL_C 100000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize" + OpName %dst "dst" + OpName %src "src" + OpName %entry "entry" + OpName %call "call" + OpName %call1 "call1" + OpName %call2 "call2" + OpName %mul "mul" + OpName %add "add" + OpName %vecinit "vecinit" + OpName %vecinit3 "vecinit3" + OpName %arrayidx "arrayidx" + OpDecorate %dst NonReadable + OpDecorate %16 Constant + %16 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize + OpDecorate %src FuncParamAttr NoCapture + OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpGroupDecorate %16 %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %21 = OpTypeImage %void 2D 0 0 0 0 Unknown WriteOnly + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %24 = OpTypeFunction %void %21 %_ptr_CrossWorkgroup_v4uint + %v2uint = OpTypeVector %uint 2 +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant +%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %24 + %dst = OpFunctionParameter %21 + %src = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %entry = OpLabel + %26 = OpUndef %v2uint + %27 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call = OpCompositeExtract %uint %27 0 + %28 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call1 = OpCompositeExtract %uint %28 1 + %29 = OpLoad %v3uint %__spirv_BuiltInGlobalSize Aligned 0 + %call2 = OpCompositeExtract %uint %29 0 + %mul = OpIMul %uint %call2 %call1 + %add = OpIAdd %uint %mul %call + %vecinit = OpCompositeInsert %v2uint %call1 %26 0 + %vecinit3 = OpCompositeInsert %v2uint %call %vecinit 1 + %arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %src %add + %30 = OpLoad %v4uint %arrayidx Aligned 16 + OpImageWrite %dst %vecinit3 %30 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_nonreadable.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_nonreadable.spvasm64 new file mode 100644 index 00000000..596cc49d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_nonreadable.spvasm64 @@ -0,0 +1,79 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 38 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability ImageBasic + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "decorate_nonreadable" + OpSource OpenCL_C 100000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize" + OpName %dst "dst" + OpName %src "src" + OpName %entry "entry" + OpName %call "call" + OpName %conv "conv" + OpName %call1 "call1" + OpName %conv2 "conv2" + OpName %conv3 "conv3" + OpName %call4 "call4" + OpName %mul "mul" + OpName %add "add" + OpName %vecinit "vecinit" + OpName %vecinit7 "vecinit7" + OpName %sext "sext" + OpName %idxprom "idxprom" + OpName %arrayidx "arrayidx" + OpDecorate %dst NonReadable + OpDecorate %21 Constant + %21 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize + OpDecorate %src FuncParamAttr NoCapture + OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpGroupDecorate %21 %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize + %ulong = OpTypeInt 64 0 + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %28 = OpTypeImage %void 2D 0 0 0 0 Unknown WriteOnly + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %31 = OpTypeFunction %void %28 %_ptr_CrossWorkgroup_v4uint + %v2uint = OpTypeVector %uint 2 +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant +%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %31 + %dst = OpFunctionParameter %28 + %src = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %entry = OpLabel + %33 = OpUndef %v2uint + %34 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call = OpCompositeExtract %ulong %34 0 + %conv = OpUConvert %uint %call + %35 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call1 = OpCompositeExtract %ulong %35 1 + %conv2 = OpUConvert %uint %call1 + %conv3 = OpSConvert %ulong %conv2 + %36 = OpLoad %v3ulong %__spirv_BuiltInGlobalSize Aligned 0 + %call4 = OpCompositeExtract %ulong %36 0 + %mul = OpIMul %ulong %conv3 %call4 + %add = OpIAdd %ulong %mul %call + %vecinit = OpCompositeInsert %v2uint %conv2 %33 0 + %vecinit7 = OpCompositeInsert %v2uint %conv %vecinit 1 + %sext = OpShiftLeftLogical %ulong %add %ulong_32 + %idxprom = OpShiftRightArithmetic %ulong %sext %ulong_32 + %arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %src %idxprom + %37 = OpLoad %v4uint %arrayidx Aligned 16 + OpImageWrite %dst %vecinit7 %37 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_nonwritable.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_nonwritable.spvasm32 new file mode 100644 index 00000000..e4b25e39 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_nonwritable.spvasm32 @@ -0,0 +1,80 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 40 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability ImageBasic + OpCapability LiteralSampler + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "decorate_nonwritable" + OpName %sampler "sampler" + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize" + OpName %dst "dst" + OpName %src "src" + OpName %entry "entry" + OpName %call "call" + OpName %call1 "call1" + OpName %call2 "call2" + OpName %mul "mul" + OpName %add "add" + OpName %vecinit "vecinit" + OpName %vecinit6 "vecinit6" + OpName %TempSampledImage "TempSampledImage" + OpName %call7_old "call7.old" + OpName %arrayidx "arrayidx" + OpDecorate %src NonWritable + OpDecorate %19 Constant + %19 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize + OpDecorate %dst FuncParamAttr NoCapture + OpDecorate %sampler LinkageAttributes "sampler" Export + OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %sampler Alignment 4 + OpGroupDecorate %19 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize + %uint = OpTypeInt 32 0 + %uint_16 = OpConstant %uint 16 +%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %28 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly + %29 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %28 + %v2uint = OpTypeVector %uint 2 + %31 = OpTypeSampler + %32 = OpTypeSampledImage %28 + %float = OpTypeFloat 32 + %34 = OpConstantSampler %31 None 0 Nearest + %float_0 = OpConstant %float 0 + %sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16 +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant +%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %29 + %dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %src = OpFunctionParameter %28 + %entry = OpLabel + %36 = OpUndef %v2uint + %37 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call = OpCompositeExtract %uint %37 0 + %38 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call1 = OpCompositeExtract %uint %38 1 + %39 = OpLoad %v3uint %__spirv_BuiltInGlobalSize Aligned 0 + %call2 = OpCompositeExtract %uint %39 0 + %mul = OpIMul %uint %call2 %call1 + %add = OpIAdd %uint %mul %call + %vecinit = OpCompositeInsert %v2uint %call1 %36 0 + %vecinit6 = OpCompositeInsert %v2uint %call %vecinit 1 +%TempSampledImage = OpSampledImage %32 %src %34 + %call7_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit6 Lod %float_0 + %arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %add + OpStore %arrayidx %call7_old Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_nonwritable.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_nonwritable.spvasm64 new file mode 100644 index 00000000..0f529681 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_nonwritable.spvasm64 @@ -0,0 +1,93 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 47 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability ImageBasic + OpCapability LiteralSampler + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "decorate_nonwritable" + OpName %sampler "sampler" + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize" + OpName %dst "dst" + OpName %src "src" + OpName %entry "entry" + OpName %call "call" + OpName %conv "conv" + OpName %call1 "call1" + OpName %conv2 "conv2" + OpName %conv3 "conv3" + OpName %call4 "call4" + OpName %mul "mul" + OpName %add "add" + OpName %vecinit "vecinit" + OpName %vecinit10 "vecinit10" + OpName %TempSampledImage "TempSampledImage" + OpName %call11_old "call11.old" + OpName %sext "sext" + OpName %idxprom "idxprom" + OpName %arrayidx "arrayidx" + OpDecorate %src NonWritable + OpDecorate %24 Constant + %24 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize + OpDecorate %dst FuncParamAttr NoCapture + OpDecorate %sampler LinkageAttributes "sampler" Export + OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %sampler Alignment 4 + OpGroupDecorate %24 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize + %uint = OpTypeInt 32 0 + %ulong = OpTypeInt 64 0 + %uint_16 = OpConstant %uint 16 + %ulong_32 = OpConstant %ulong 32 +%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %35 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly + %36 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %35 + %v2uint = OpTypeVector %uint 2 + %38 = OpTypeSampler + %39 = OpTypeSampledImage %35 + %float = OpTypeFloat 32 + %41 = OpConstantSampler %38 None 0 Nearest + %float_0 = OpConstant %float 0 + %sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16 +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant +%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %36 + %dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %src = OpFunctionParameter %35 + %entry = OpLabel + %43 = OpUndef %v2uint + %44 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call = OpCompositeExtract %ulong %44 0 + %conv = OpUConvert %uint %call + %45 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call1 = OpCompositeExtract %ulong %45 1 + %conv2 = OpUConvert %uint %call1 + %conv3 = OpSConvert %ulong %conv2 + %46 = OpLoad %v3ulong %__spirv_BuiltInGlobalSize Aligned 0 + %call4 = OpCompositeExtract %ulong %46 0 + %mul = OpIMul %ulong %conv3 %call4 + %add = OpIAdd %ulong %mul %call + %vecinit = OpCompositeInsert %v2uint %conv2 %43 0 + %vecinit10 = OpCompositeInsert %v2uint %conv %vecinit 1 +%TempSampledImage = OpSampledImage %39 %src %41 + %call11_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit10 Lod %float_0 + %sext = OpShiftLeftLogical %ulong %add %ulong_32 + %idxprom = OpShiftRightArithmetic %ulong %sext %ulong_32 + %arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %idxprom + OpStore %arrayidx %call11_old Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_restrict.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_restrict.spvasm32 new file mode 100644 index 00000000..f05e9166 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_restrict.spvasm32 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_restrict" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Restrict + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %uint %14 0 + %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 + %17 = OpLoad %uint %16 Aligned 4 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 + %19 = OpLoad %uint %18 Aligned 4 + %20 = OpIAdd %uint %17 %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %15 + OpStore %21 %20 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_restrict.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_restrict.spvasm64 new file mode 100644 index 00000000..b9181c9e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_restrict.spvasm64 @@ -0,0 +1,48 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_restrict" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %6 Restrict + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %entry = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpIAdd %uint %21 %23 + %25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %25 %24 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_double_long.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_double_long.spvasm32 new file mode 100644 index 00000000..e57fe7b3 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_double_long.spvasm32 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rte_double_long" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTE + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17 + %19 = OpLoad %double %18 + %6 = OpConvertFToS %ulong %19 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %res %17 + OpStore %20 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_double_long.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_double_long.spvasm64 new file mode 100644 index 00000000..7b56ca29 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_double_long.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rte_double_long" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTE + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %19 + %21 = OpLoad %double %20 + %6 = OpConvertFToS %ulong %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %res %19 + OpStore %22 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_float_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_float_int.spvasm32 new file mode 100644 index 00000000..9a93f237 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_float_int.spvasm32 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rte_float_int" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTE + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %16 + %18 = OpLoad %float %17 Aligned 4 + %6 = OpConvertFToS %uint %18 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %16 + OpStore %19 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_float_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_float_int.spvasm64 new file mode 100644 index 00000000..45809d6a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rte_float_int.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rte_float_int" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTE + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %20 + %22 = OpLoad %float %21 Aligned 4 + %6 = OpConvertFToS %uint %22 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %20 + OpStore %23 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_double_long.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_double_long.spvasm32 new file mode 100644 index 00000000..30a398e2 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_double_long.spvasm32 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtn_double_long" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTN + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17 + %19 = OpLoad %double %18 + %6 = OpConvertFToS %ulong %19 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %res %17 + OpStore %20 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_double_long.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_double_long.spvasm64 new file mode 100644 index 00000000..a164bd51 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_double_long.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtn_double_long" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTN + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %19 + %21 = OpLoad %double %20 + %6 = OpConvertFToS %ulong %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %res %19 + OpStore %22 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_float_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_float_int.spvasm32 new file mode 100644 index 00000000..1db15d3c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_float_int.spvasm32 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtn_float_int" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTN + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %16 + %18 = OpLoad %float %17 Aligned 4 + %6 = OpConvertFToS %uint %18 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %16 + OpStore %19 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_float_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_float_int.spvasm64 new file mode 100644 index 00000000..8b8ee770 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtn_float_int.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtn_float_int" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTN + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %20 + %22 = OpLoad %float %21 Aligned 4 + %6 = OpConvertFToS %uint %22 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %20 + OpStore %23 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_double_long.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_double_long.spvasm32 new file mode 100644 index 00000000..e6d80ebd --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_double_long.spvasm32 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtp_double_long" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTP + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17 + %19 = OpLoad %double %18 + %6 = OpConvertFToS %ulong %19 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %res %17 + OpStore %20 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_double_long.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_double_long.spvasm64 new file mode 100644 index 00000000..b7f5915f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_double_long.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtp_double_long" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTP + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %19 + %21 = OpLoad %double %20 + %6 = OpConvertFToS %ulong %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %res %19 + OpStore %22 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_float_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_float_int.spvasm32 new file mode 100644 index 00000000..09b4b98e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_float_int.spvasm32 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtp_float_int" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTP + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %16 + %18 = OpLoad %float %17 Aligned 4 + %6 = OpConvertFToS %uint %18 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %16 + OpStore %19 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_float_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_float_int.spvasm64 new file mode 100644 index 00000000..5a74457d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtp_float_int.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtp_float_int" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTP + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %20 + %22 = OpLoad %float %21 Aligned 4 + %6 = OpConvertFToS %uint %22 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %20 + OpStore %23 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_double_long.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_double_long.spvasm32 new file mode 100644 index 00000000..8eb632d9 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_double_long.spvasm32 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtz_double_long" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTZ + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17 + %19 = OpLoad %double %18 + %6 = OpConvertFToS %ulong %19 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %res %17 + OpStore %20 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_double_long.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_double_long.spvasm64 new file mode 100644 index 00000000..7c5c3465 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_double_long.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtz_double_long" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTZ + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %19 + %21 = OpLoad %double %20 + %6 = OpConvertFToS %ulong %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %res %19 + OpStore %22 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_float_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_float_int.spvasm32 new file mode 100644 index 00000000..21b4d4f1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_float_int.spvasm32 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtz_float_int" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTZ + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %16 + %18 = OpLoad %float %17 Aligned 4 + %6 = OpConvertFToS %uint %18 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %16 + OpStore %19 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_float_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_float_int.spvasm64 new file mode 100644 index 00000000..6f0b123f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_rounding_rtz_float_int.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_rounding_rtz_float_int" + OpName %res "res" + OpName %in "in" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %6 FPRoundingMode RTZ + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %20 + %22 = OpLoad %float %21 Aligned 4 + %6 = OpConvertFToS %uint %22 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %20 + OpStore %23 %6 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_char.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_char.spvasm32 new file mode 100644 index 00000000..4aa86c16 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_char.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_char" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %18 + %20 = OpLoad %float %19 Aligned 4 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %18 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpFMul %float %20 %22 + %7 = OpConvertFToS %uchar %23 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %res %18 + OpStore %24 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_char.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_char.spvasm64 new file mode 100644 index 00000000..e102b843 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_char.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_char" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %21 + %23 = OpLoad %float %22 Aligned 4 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %21 + %25 = OpLoad %float %24 Aligned 4 + %26 = OpFMul %float %23 %25 + %7 = OpConvertFToS %uchar %26 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %res %21 + OpStore %27 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_int.spvasm32 new file mode 100644 index 00000000..1e2e7bd3 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_int.spvasm32 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_int" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %17 + %19 = OpLoad %double %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %17 + %21 = OpLoad %double %20 + %22 = OpFMul %double %19 %21 + %7 = OpConvertFToS %uint %22 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %17 + OpStore %23 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_int.spvasm64 new file mode 100644 index 00000000..7ea8af93 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_int.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_int" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %21 + %23 = OpLoad %double %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %21 + %25 = OpLoad %double %24 + %26 = OpFMul %double %23 %25 + %7 = OpConvertFToS %uint %26 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %21 + OpStore %27 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_short.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_short.spvasm32 new file mode 100644 index 00000000..c37a35b6 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_short.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_short" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %18 + %20 = OpLoad %float %19 Aligned 4 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %18 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpFMul %float %20 %22 + %7 = OpConvertFToS %ushort %23 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %res %18 + OpStore %24 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_short.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_short.spvasm64 new file mode 100644 index 00000000..02bb819f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_short.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_short" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %21 + %23 = OpLoad %float %22 Aligned 4 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %21 + %25 = OpLoad %float %24 Aligned 4 + %26 = OpFMul %float %23 %25 + %7 = OpConvertFToS %ushort %26 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %res %21 + OpStore %27 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uchar.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uchar.spvasm32 new file mode 100644 index 00000000..b0b52ed1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uchar.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_uchar" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %18 + %20 = OpLoad %float %19 Aligned 4 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %18 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpFMul %float %20 %22 + %7 = OpConvertFToU %uchar %23 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %res %18 + OpStore %24 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uchar.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uchar.spvasm64 new file mode 100644 index 00000000..19c14157 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uchar.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_uchar" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %21 + %23 = OpLoad %float %22 Aligned 4 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %21 + %25 = OpLoad %float %24 Aligned 4 + %26 = OpFMul %float %23 %25 + %7 = OpConvertFToU %uchar %26 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %res %21 + OpStore %27 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uint.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uint.spvasm32 new file mode 100644 index 00000000..1426f117 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uint.spvasm32 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_uint" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %17 + %19 = OpLoad %double %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %17 + %21 = OpLoad %double %20 + %22 = OpFMul %double %19 %21 + %7 = OpConvertFToU %uint %22 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %17 + OpStore %23 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uint.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uint.spvasm64 new file mode 100644 index 00000000..cd597d7f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_uint.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_uint" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %21 + %23 = OpLoad %double %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %21 + %25 = OpLoad %double %24 + %26 = OpFMul %double %23 %25 + %7 = OpConvertFToS %uint %26 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %21 + OpStore %27 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_ushort.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_ushort.spvasm32 new file mode 100644 index 00000000..56555aa5 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_ushort.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_ushort" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %18 + %20 = OpLoad %float %19 Aligned 4 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %18 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpFMul %float %20 %22 + %7 = OpConvertFToU %ushort %23 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %res %18 + OpStore %24 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_ushort.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_ushort.spvasm64 new file mode 100644 index 00000000..72bf0e09 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_saturated_conversion_ushort.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "decorate_saturated_conversion_ushort" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %7 SaturatedConversion + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %21 + %23 = OpLoad %float %22 Aligned 4 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %21 + %25 = OpLoad %float %24 Aligned 4 + %26 = OpFMul %float %23 %25 + %7 = OpConvertFToU %ushort %26 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %res %21 + OpStore %27 %7 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_volatile.spvasm32 b/test_conformance/spirv_new/spirv_asm/decorate_volatile.spvasm32 new file mode 100644 index 00000000..94b1716f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_volatile.spvasm32 @@ -0,0 +1,80 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 40 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability ImageBasic + OpCapability LiteralSampler + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "decorate_volatile" + OpName %sampler "sampler" + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize" + OpName %dst "dst" + OpName %src "src" + OpName %entry "entry" + OpName %call "call" + OpName %call1 "call1" + OpName %call2 "call2" + OpName %mul "mul" + OpName %add "add" + OpName %vecinit "vecinit" + OpName %vecinit6 "vecinit6" + OpName %TempSampledImage "TempSampledImage" + OpName %call7_old "call7.old" + OpName %arrayidx "arrayidx" + OpDecorate %src Volatile + OpDecorate %19 Constant + %19 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize + OpDecorate %dst FuncParamAttr NoCapture + OpDecorate %sampler LinkageAttributes "sampler" Export + OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %sampler Alignment 4 + OpGroupDecorate %19 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize + %uint = OpTypeInt 32 0 + %uint_16 = OpConstant %uint 16 +%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %28 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly + %29 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %28 + %v2uint = OpTypeVector %uint 2 + %31 = OpTypeSampler + %32 = OpTypeSampledImage %28 + %float = OpTypeFloat 32 + %34 = OpConstantSampler %31 None 0 Nearest + %float_0 = OpConstant %float 0 + %sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16 +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant +%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %29 + %dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %src = OpFunctionParameter %28 + %entry = OpLabel + %36 = OpUndef %v2uint + %37 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call = OpCompositeExtract %uint %37 0 + %38 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call1 = OpCompositeExtract %uint %38 1 + %39 = OpLoad %v3uint %__spirv_BuiltInGlobalSize Aligned 0 + %call2 = OpCompositeExtract %uint %39 0 + %mul = OpIMul %uint %call2 %call1 + %add = OpIAdd %uint %mul %call + %vecinit = OpCompositeInsert %v2uint %call1 %36 0 + %vecinit6 = OpCompositeInsert %v2uint %call %vecinit 1 +%TempSampledImage = OpSampledImage %32 %src %34 + %call7_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit6 Lod %float_0 + %arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %add + OpStore %arrayidx %call7_old Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/decorate_volatile.spvasm64 b/test_conformance/spirv_new/spirv_asm/decorate_volatile.spvasm64 new file mode 100644 index 00000000..9a151da1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/decorate_volatile.spvasm64 @@ -0,0 +1,93 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 47 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability ImageBasic + OpCapability LiteralSampler + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "decorate_volatile" + OpName %sampler "sampler" + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %__spirv_BuiltInGlobalSize "__spirv_BuiltInGlobalSize" + OpName %dst "dst" + OpName %src "src" + OpName %entry "entry" + OpName %call "call" + OpName %conv "conv" + OpName %call1 "call1" + OpName %conv2 "conv2" + OpName %conv3 "conv3" + OpName %call4 "call4" + OpName %mul "mul" + OpName %add "add" + OpName %vecinit "vecinit" + OpName %vecinit10 "vecinit10" + OpName %TempSampledImage "TempSampledImage" + OpName %call11_old "call11.old" + OpName %sext "sext" + OpName %idxprom "idxprom" + OpName %arrayidx "arrayidx" + OpDecorate %src Volatile + OpDecorate %24 Constant + %24 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalSize BuiltIn GlobalSize + OpDecorate %dst FuncParamAttr NoCapture + OpDecorate %sampler LinkageAttributes "sampler" Export + OpDecorate %__spirv_BuiltInGlobalSize LinkageAttributes "__spirv_BuiltInGlobalSize" Import + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %sampler Alignment 4 + OpGroupDecorate %24 %sampler %__spirv_BuiltInGlobalInvocationId %__spirv_BuiltInGlobalSize + %uint = OpTypeInt 32 0 + %ulong = OpTypeInt 64 0 + %uint_16 = OpConstant %uint 16 + %ulong_32 = OpConstant %ulong 32 +%_ptr_UniformConstant_uint = OpTypePointer UniformConstant %uint + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %35 = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly + %36 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %35 + %v2uint = OpTypeVector %uint 2 + %38 = OpTypeSampler + %39 = OpTypeSampledImage %35 + %float = OpTypeFloat 32 + %41 = OpConstantSampler %38 None 0 Nearest + %float_0 = OpConstant %float 0 + %sampler = OpVariable %_ptr_UniformConstant_uint UniformConstant %uint_16 +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant +%__spirv_BuiltInGlobalSize = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %36 + %dst = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %src = OpFunctionParameter %35 + %entry = OpLabel + %43 = OpUndef %v2uint + %44 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call = OpCompositeExtract %ulong %44 0 + %conv = OpUConvert %uint %call + %45 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 0 + %call1 = OpCompositeExtract %ulong %45 1 + %conv2 = OpUConvert %uint %call1 + %conv3 = OpSConvert %ulong %conv2 + %46 = OpLoad %v3ulong %__spirv_BuiltInGlobalSize Aligned 0 + %call4 = OpCompositeExtract %ulong %46 0 + %mul = OpIMul %ulong %conv3 %call4 + %add = OpIAdd %ulong %mul %call + %vecinit = OpCompositeInsert %v2uint %conv2 %43 0 + %vecinit10 = OpCompositeInsert %v2uint %conv %vecinit 1 +%TempSampledImage = OpSampledImage %39 %src %41 + %call11_old = OpImageSampleExplicitLod %v4uint %TempSampledImage %vecinit10 Lod %float_0 + %sext = OpShiftLeftLogical %ulong %add %ulong_32 + %idxprom = OpShiftRightArithmetic %ulong %sext %ulong_32 + %arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %dst %idxprom + OpStore %arrayidx %call11_old Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm32 similarity index 65% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm32 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm32 index 48f43e63..e1311765 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm32 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm32 @@ -1,47 +1,47 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 23 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %9 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %22 FuncParamAttr NoWrite - %22 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %20 NoSignedWrap - OpGroupDecorate %22 %lhs %rhs + OpDecorate %8 NoSignedWrap + OpGroupDecorate %7 %lhs %rhs %uint = OpTypeInt 32 0 %v3uint = OpTypeVector %uint 3 %_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %8 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant - %9 = OpFunction %void None %8 + %2 = OpFunction %void None %14 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %13 = OpLabel - %14 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId - %15 = OpCompositeExtract %uint %14 0 - %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 - %17 = OpLoad %uint %16 Aligned 4 - %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 + %15 = OpLabel + %16 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %17 %19 = OpLoad %uint %18 Aligned 4 - %20 = OpIAdd %uint %17 %19 - %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %15 - OpStore %21 %20 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %17 + %21 = OpLoad %uint %20 Aligned 4 + %8 = OpIAdd %uint %19 %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17 + OpStore %22 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm64 new file mode 100644 index 00000000..26b81ede --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm64 @@ -0,0 +1,53 @@ +; SPIR-V +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpExtension "SPV_KHR_no_integer_wrap_decoration" + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_cl" + OpSource OpenCL_C 200000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %out "out" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalInvocationId Constant + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %8 NoSignedWrap + OpGroupDecorate %7 %lhs %rhs + %ulong = OpTypeInt 64 0 + %uint = OpTypeInt 32 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpUConvert %uint %18 + %20 = OpSConvert %ulong %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %20 + %22 = OpLoad %uint %21 Aligned 4 + %23 = OpSConvert %ulong %19 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %8 = OpIAdd %uint %22 %25 + %26 = OpSConvert %ulong %19 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %26 + OpStore %27 %8 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm32 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm32 similarity index 65% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm32 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm32 index 15bdb61a..be552423 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm32 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm32 @@ -1,47 +1,47 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 23 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %9 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %22 FuncParamAttr NoWrite - %22 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %20 NoUnsignedWrap - OpGroupDecorate %22 %lhs %rhs + OpDecorate %8 NoUnsignedWrap + OpGroupDecorate %7 %lhs %rhs %uint = OpTypeInt 32 0 %v3uint = OpTypeVector %uint 3 %_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %8 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant - %9 = OpFunction %void None %8 + %2 = OpFunction %void None %14 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %13 = OpLabel - %14 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId - %15 = OpCompositeExtract %uint %14 0 - %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 - %17 = OpLoad %uint %16 Aligned 4 - %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 + %15 = OpLabel + %16 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %17 %19 = OpLoad %uint %18 Aligned 4 - %20 = OpIAdd %uint %17 %19 - %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %15 - OpStore %21 %20 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %17 + %21 = OpLoad %uint %20 Aligned 4 + %8 = OpIAdd %uint %19 %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17 + OpStore %22 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm64 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm64 similarity index 58% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm64 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm64 index 528bd587..3cddeea8 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm64 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spvasm64 @@ -1,53 +1,53 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 28 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel OpCapability Int64 + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %27 FuncParamAttr NoWrite - %27 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %24 NoUnsignedWrap - OpGroupDecorate %27 %lhs %rhs + OpDecorate %8 NoUnsignedWrap + OpGroupDecorate %7 %lhs %rhs %ulong = OpTypeInt 64 0 %uint = OpTypeInt 32 0 %v3ulong = OpTypeVector %ulong 3 %_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant - %10 = OpFunction %void None %9 + %2 = OpFunction %void None %15 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %14 = OpLabel - %15 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId - %16 = OpCompositeExtract %ulong %15 0 - %17 = OpUConvert %uint %16 - %18 = OpSConvert %ulong %17 - %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 - %20 = OpLoad %uint %19 Aligned 4 - %21 = OpSConvert %ulong %17 - %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 - %23 = OpLoad %uint %22 Aligned 4 - %24 = OpIAdd %uint %20 %23 - %25 = OpSConvert %ulong %17 - %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %25 - OpStore %26 %24 Aligned 4 + %16 = OpLabel + %17 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpUConvert %uint %18 + %20 = OpSConvert %ulong %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %20 + %22 = OpLoad %uint %21 Aligned 4 + %23 = OpSConvert %ulong %19 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %8 = OpIAdd %uint %22 %25 + %26 = OpSConvert %ulong %19 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %26 + OpStore %27 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm32 similarity index 65% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm32 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm32 index f20ec4fe..0844d734 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm32 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm32 @@ -1,47 +1,47 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 23 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %9 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %22 FuncParamAttr NoWrite - %22 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %20 NoSignedWrap - OpGroupDecorate %22 %lhs %rhs + OpDecorate %8 NoSignedWrap + OpGroupDecorate %7 %lhs %rhs %uint = OpTypeInt 32 0 %v3uint = OpTypeVector %uint 3 %_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %8 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant - %9 = OpFunction %void None %8 + %2 = OpFunction %void None %14 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %13 = OpLabel - %14 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId - %15 = OpCompositeExtract %uint %14 0 - %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 - %17 = OpLoad %uint %16 Aligned 4 - %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 + %15 = OpLabel + %16 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %17 %19 = OpLoad %uint %18 Aligned 4 - %20 = OpIMul %uint %17 %19 - %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %15 - OpStore %21 %20 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %17 + %21 = OpLoad %uint %20 Aligned 4 + %8 = OpIMul %uint %19 %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17 + OpStore %22 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm64 new file mode 100644 index 00000000..1a7cd928 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm64 @@ -0,0 +1,53 @@ +; SPIR-V +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpExtension "SPV_KHR_no_integer_wrap_decoration" + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_cl" + OpSource OpenCL_C 200000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %out "out" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalInvocationId Constant + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %8 NoSignedWrap + OpGroupDecorate %7 %lhs %rhs + %ulong = OpTypeInt 64 0 + %uint = OpTypeInt 32 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpUConvert %uint %18 + %20 = OpSConvert %ulong %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %20 + %22 = OpLoad %uint %21 Aligned 4 + %23 = OpSConvert %ulong %19 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %8 = OpIMul %uint %22 %25 + %26 = OpSConvert %ulong %19 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %26 + OpStore %27 %8 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm32 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm32 similarity index 65% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm32 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm32 index 2bf9532d..a9ffa99f 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm32 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm32 @@ -1,47 +1,47 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 23 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %9 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %22 FuncParamAttr NoWrite - %22 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %20 NoUnsignedWrap - OpGroupDecorate %22 %lhs %rhs + OpDecorate %8 NoUnsignedWrap + OpGroupDecorate %7 %lhs %rhs %uint = OpTypeInt 32 0 %v3uint = OpTypeVector %uint 3 %_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %8 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant - %9 = OpFunction %void None %8 + %2 = OpFunction %void None %14 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %13 = OpLabel - %14 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId - %15 = OpCompositeExtract %uint %14 0 - %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 - %17 = OpLoad %uint %16 Aligned 4 - %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 + %15 = OpLabel + %16 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %17 %19 = OpLoad %uint %18 Aligned 4 - %20 = OpIMul %uint %17 %19 - %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %15 - OpStore %21 %20 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %17 + %21 = OpLoad %uint %20 Aligned 4 + %8 = OpIMul %uint %19 %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17 + OpStore %22 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm64 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm64 similarity index 58% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm64 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm64 index a41bc23b..73ca88b0 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm64 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spvasm64 @@ -1,53 +1,53 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 28 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel OpCapability Int64 + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %27 FuncParamAttr NoWrite - %27 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %24 NoUnsignedWrap - OpGroupDecorate %27 %lhs %rhs + OpDecorate %8 NoUnsignedWrap + OpGroupDecorate %7 %lhs %rhs %ulong = OpTypeInt 64 0 %uint = OpTypeInt 32 0 %v3ulong = OpTypeVector %ulong 3 %_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant - %10 = OpFunction %void None %9 + %2 = OpFunction %void None %15 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %14 = OpLabel - %15 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId - %16 = OpCompositeExtract %ulong %15 0 - %17 = OpUConvert %uint %16 - %18 = OpSConvert %ulong %17 - %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 - %20 = OpLoad %uint %19 Aligned 4 - %21 = OpSConvert %ulong %17 - %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 - %23 = OpLoad %uint %22 Aligned 4 - %24 = OpIMul %uint %20 %23 - %25 = OpSConvert %ulong %17 - %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %25 - OpStore %26 %24 Aligned 4 + %16 = OpLabel + %17 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpUConvert %uint %18 + %20 = OpSConvert %ulong %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %20 + %22 = OpLoad %uint %21 Aligned 4 + %23 = OpSConvert %ulong %19 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %8 = OpIMul %uint %22 %25 + %26 = OpSConvert %ulong %19 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %26 + OpStore %27 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm32 similarity index 64% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm32 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm32 index d8ec6666..06423738 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm32 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm32 @@ -1,46 +1,46 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 22 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %9 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %21 FuncParamAttr NoWrite - OpDecorate %19 NoSignedWrap - %21 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + OpDecorate %8 NoSignedWrap + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpGroupDecorate %21 %lhs %rhs + OpGroupDecorate %7 %lhs %rhs %uint = OpTypeInt 32 0 %uint_0 = OpConstant %uint 0 %v3uint = OpTypeVector %uint 3 %_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %8 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant - %9 = OpFunction %void None %8 + %2 = OpFunction %void None %15 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %13 = OpLabel - %14 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId - %15 = OpCompositeExtract %uint %14 0 - %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 - %17 = OpLoad %uint %16 Aligned 4 - %19 = OpSNegate %uint %17 - %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %15 - OpStore %20 %19 Aligned 4 + %16 = OpLabel + %17 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 + %20 = OpLoad %uint %19 Aligned 4 + %8 = OpSNegate %uint %20 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %18 + OpStore %21 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm64 similarity index 62% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm64 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm64 index 7fa68c15..654b4978 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm64 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spvasm64 @@ -1,28 +1,28 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 ; Bound: 26 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel OpCapability Int64 + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %25 FuncParamAttr NoWrite - OpDecorate %22 NoSignedWrap - %25 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + OpDecorate %8 NoSignedWrap + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpGroupDecorate %25 %lhs %rhs + OpGroupDecorate %7 %lhs %rhs %ulong = OpTypeInt 64 0 %uint = OpTypeInt 32 0 %uint_0 = OpConstant %uint 0 @@ -30,22 +30,22 @@ %_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant - %10 = OpFunction %void None %9 + %2 = OpFunction %void None %16 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %14 = OpLabel - %15 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId - %16 = OpCompositeExtract %ulong %15 0 - %17 = OpUConvert %uint %16 - %18 = OpSConvert %ulong %17 - %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 - %20 = OpLoad %uint %19 Aligned 4 - %22 = OpSNegate %uint %20 - %23 = OpSConvert %ulong %17 - %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %23 - OpStore %24 %22 Aligned 4 + %17 = OpLabel + %18 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpUConvert %uint %19 + %21 = OpSConvert %ulong %20 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %21 + %23 = OpLoad %uint %22 Aligned 4 + %8 = OpSNegate %uint %23 + %24 = OpSConvert %ulong %20 + %25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %24 + OpStore %25 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm32 new file mode 100644 index 00000000..4e80aefe --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm32 @@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpExtension "SPV_KHR_no_integer_wrap_decoration" + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_cl" + OpSource OpenCL_C 200000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %out "out" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalInvocationId Constant + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %8 NoSignedWrap + OpGroupDecorate %7 %lhs %rhs + %uint = OpTypeInt 32 0 + %uint_31 = OpConstant %uint 31 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 + %20 = OpLoad %uint %19 Aligned 4 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %18 + %22 = OpLoad %uint %21 Aligned 4 + %23 = OpBitwiseAnd %uint %22 %uint_31 + %8 = OpShiftLeftLogical %uint %20 %23 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %18 + OpStore %24 %8 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm64 similarity index 59% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm64 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm64 index 5ee04af3..82c83afa 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spvasm64 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm64 @@ -1,53 +1,55 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 28 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 30 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel OpCapability Int64 + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %27 FuncParamAttr NoWrite - %27 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %24 NoSignedWrap - OpGroupDecorate %27 %lhs %rhs + OpDecorate %8 NoSignedWrap + OpGroupDecorate %7 %lhs %rhs %ulong = OpTypeInt 64 0 %uint = OpTypeInt 32 0 + %uint_31 = OpConstant %uint 31 %v3ulong = OpTypeVector %ulong 3 %_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant - %10 = OpFunction %void None %9 + %2 = OpFunction %void None %16 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %14 = OpLabel - %15 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId - %16 = OpCompositeExtract %ulong %15 0 - %17 = OpUConvert %uint %16 - %18 = OpSConvert %ulong %17 - %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 - %20 = OpLoad %uint %19 Aligned 4 - %21 = OpSConvert %ulong %17 - %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 + %17 = OpLabel + %18 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpUConvert %uint %19 + %21 = OpSConvert %ulong %20 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %21 %23 = OpLoad %uint %22 Aligned 4 - %24 = OpIMul %uint %20 %23 - %25 = OpSConvert %ulong %17 - %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %25 - OpStore %26 %24 Aligned 4 + %24 = OpSConvert %ulong %20 + %25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %24 + %26 = OpLoad %uint %25 Aligned 4 + %27 = OpBitwiseAnd %uint %26 %uint_31 + %8 = OpShiftLeftLogical %uint %23 %27 + %28 = OpSConvert %ulong %20 + %29 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %28 + OpStore %29 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm32 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm32 new file mode 100644 index 00000000..bd8f3aa0 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm32 @@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpExtension "SPV_KHR_no_integer_wrap_decoration" + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_cl" + OpSource OpenCL_C 200000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %out "out" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalInvocationId Constant + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpDecorate %8 NoUnsignedWrap + OpGroupDecorate %7 %lhs %rhs + %uint = OpTypeInt 32 0 + %uint_31 = OpConstant %uint 31 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 + %20 = OpLoad %uint %19 Aligned 4 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %18 + %22 = OpLoad %uint %21 Aligned 4 + %23 = OpBitwiseAnd %uint %22 %uint_31 + %8 = OpShiftLeftLogical %uint %20 %23 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %18 + OpStore %24 %8 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm64 similarity index 59% rename from test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm64 rename to test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm64 index 3b8b253a..a0e8a751 100644 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spvasm64 +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm64 @@ -1,53 +1,55 @@ ; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 28 +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 30 ; Schema: 0 OpCapability Addresses OpCapability Linkage OpCapability Kernel OpCapability Int64 + OpExtension "SPV_KHR_no_integer_wrap_decoration" %1 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_cl" + OpEntryPoint Kernel %2 "fmath_cl" OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" OpName %out "out" OpName %lhs "lhs" OpName %rhs "rhs" - OpDecorate %27 FuncParamAttr NoWrite - %27 = OpDecorationGroup + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId OpDecorate %__spirv_BuiltInGlobalInvocationId Constant OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %24 NoSignedWrap - OpGroupDecorate %27 %lhs %rhs + OpDecorate %8 NoUnsignedWrap + OpGroupDecorate %7 %lhs %rhs %ulong = OpTypeInt 64 0 %uint = OpTypeInt 32 0 + %uint_31 = OpConstant %uint 31 %v3ulong = OpTypeVector %ulong 3 %_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong %void = OpTypeVoid %_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant - %10 = OpFunction %void None %9 + %2 = OpFunction %void None %16 %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %14 = OpLabel - %15 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId - %16 = OpCompositeExtract %ulong %15 0 - %17 = OpUConvert %uint %16 - %18 = OpSConvert %ulong %17 - %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 - %20 = OpLoad %uint %19 Aligned 4 - %21 = OpSConvert %ulong %17 - %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 + %17 = OpLabel + %18 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpUConvert %uint %19 + %21 = OpSConvert %ulong %20 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %21 %23 = OpLoad %uint %22 Aligned 4 - %24 = OpIAdd %uint %20 %23 - %25 = OpSConvert %ulong %17 - %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %25 - OpStore %26 %24 Aligned 4 + %24 = OpSConvert %ulong %20 + %25 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %24 + %26 = OpLoad %uint %25 Aligned 4 + %27 = OpBitwiseAnd %uint %26 %uint_31 + %8 = OpShiftLeftLogical %uint %23 %27 + %28 = OpSConvert %ulong %20 + %29 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %28 + OpStore %29 %8 Aligned 4 OpReturn OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm32 new file mode 100644 index 00000000..9dc688e4 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm32 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpExtension "SPV_KHR_no_integer_wrap_decoration" + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_cl" + OpSource OpenCL_C 200000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %out "out" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalInvocationId Constant + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpGroupDecorate %7 %lhs %rhs + OpDecorate %8 NoSignedWrap + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %14 + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %15 = OpLabel + %16 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %17 + %19 = OpLoad %uint %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %17 + %21 = OpLoad %uint %20 Aligned 4 + %8 = OpISub %uint %19 %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17 + OpStore %22 %8 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm64 new file mode 100644 index 00000000..a010d1c0 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm64 @@ -0,0 +1,53 @@ +; SPIR-V +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpExtension "SPV_KHR_no_integer_wrap_decoration" + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_cl" + OpSource OpenCL_C 200000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %out "out" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalInvocationId Constant + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpGroupDecorate %7 %lhs %rhs + OpDecorate %8 NoSignedWrap + %ulong = OpTypeInt 64 0 + %uint = OpTypeInt 32 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpUConvert %uint %18 + %20 = OpSConvert %ulong %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %20 + %22 = OpLoad %uint %21 Aligned 4 + %23 = OpSConvert %ulong %19 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %8 = OpISub %uint %22 %25 + %26 = OpSConvert %ulong %19 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %26 + OpStore %27 %8 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm32 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm32 new file mode 100644 index 00000000..43ce2570 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm32 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpExtension "SPV_KHR_no_integer_wrap_decoration" + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_cl" + OpSource OpenCL_C 200000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %out "out" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalInvocationId Constant + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpGroupDecorate %7 %lhs %rhs + OpDecorate %8 NoUnsignedWrap + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %14 + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %15 = OpLabel + %16 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %17 + %19 = OpLoad %uint %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %17 + %21 = OpLoad %uint %20 Aligned 4 + %8 = OpISub %uint %19 %21 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17 + OpStore %22 %8 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm64 b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm64 new file mode 100644 index 00000000..e68e5596 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm64 @@ -0,0 +1,53 @@ +; SPIR-V +; Version: 1.1 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpExtension "SPV_KHR_no_integer_wrap_decoration" + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_cl" + OpSource OpenCL_C 200000 + OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" + OpName %out "out" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %7 FuncParamAttr NoWrite + %7 = OpDecorationGroup + OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId + OpDecorate %__spirv_BuiltInGlobalInvocationId Constant + OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import + OpGroupDecorate %7 %lhs %rhs + OpDecorate %8 NoUnsignedWrap + %ulong = OpTypeInt 64 0 + %uint = OpTypeInt 32 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpUConvert %uint %18 + %20 = OpSConvert %ulong %19 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %20 + %22 = OpLoad %uint %21 Aligned 4 + %23 = OpSConvert %ulong %19 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %8 = OpISub %uint %22 %25 + %26 = OpSConvert %ulong %19 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %26 + OpStore %27 %8 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_double.spvasm32 b/test_conformance/spirv_new/spirv_asm/fadd_double.spvasm32 new file mode 100644 index 00000000..9a4a9336 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_double.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %17 + %19 = OpLoad %double %18 Aligned 8 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %17 + %21 = OpLoad %double %20 Aligned 8 + %22 = OpFAdd %double %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %17 + OpStore %23 %22 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_double.spvasm64 b/test_conformance/spirv_new/spirv_asm/fadd_double.spvasm64 new file mode 100644 index 00000000..9e51b19f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_double.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %20 + %22 = OpLoad %double %21 Aligned 8 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %20 + %24 = OpLoad %double %23 Aligned 8 + %25 = OpFAdd %double %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %20 + OpStore %26 %25 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_double2.spvasm32 b/test_conformance/spirv_new/spirv_asm/fadd_double2.spvasm32 new file mode 100644 index 00000000..111d6c8c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_double2.spvasm32 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %18 + %20 = OpLoad %v2double %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %18 + %22 = OpLoad %v2double %21 Aligned 16 + %23 = OpFAdd %v2double %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_double2.spvasm64 b/test_conformance/spirv_new/spirv_asm/fadd_double2.spvasm64 new file mode 100644 index 00000000..b77917cc --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_double2.spvasm64 @@ -0,0 +1,51 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %21 + %23 = OpLoad %v2double %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %21 + %25 = OpLoad %v2double %24 Aligned 16 + %26 = OpFAdd %v2double %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_float.spvasm32 b/test_conformance/spirv_new/spirv_asm/fadd_float.spvasm32 new file mode 100644 index 00000000..ef7d0452 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_float.spvasm32 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %17 + %19 = OpLoad %float %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %17 + %21 = OpLoad %float %20 Aligned 4 + %22 = OpFAdd %float %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %17 + OpStore %23 %22 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_float.spvasm64 b/test_conformance/spirv_new/spirv_asm/fadd_float.spvasm64 new file mode 100644 index 00000000..15b5652e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_float.spvasm64 @@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %20 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %20 + %24 = OpLoad %float %23 Aligned 4 + %25 = OpFAdd %float %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %20 + OpStore %26 %25 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_float4.spvasm32 b/test_conformance/spirv_new/spirv_asm/fadd_float4.spvasm32 new file mode 100644 index 00000000..6f318ade --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_float4.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %18 + %20 = OpLoad %v4float %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %18 + %22 = OpLoad %v4float %21 Aligned 16 + %23 = OpFAdd %v4float %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_float4.spvasm64 b/test_conformance/spirv_new/spirv_asm/fadd_float4.spvasm64 new file mode 100644 index 00000000..7c83efaa --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_float4.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %21 + %23 = OpLoad %v4float %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %21 + %25 = OpLoad %v4float %24 Aligned 16 + %26 = OpFAdd %v4float %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_half.spvasm32 b/test_conformance/spirv_new/spirv_asm/fadd_half.spvasm32 new file mode 100644 index 00000000..7f9ff113 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_half.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %17 + %19 = OpLoad %half %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %17 + %21 = OpLoad %half %20 + %22 = OpFAdd %half %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %17 + OpStore %23 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fadd_half.spvasm64 b/test_conformance/spirv_new/spirv_asm/fadd_half.spvasm64 new file mode 100644 index 00000000..7f069cc2 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fadd_half.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %20 + %22 = OpLoad %half %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %20 + %24 = OpLoad %half %23 + %25 = OpFAdd %half %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %20 + OpStore %26 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_double.spvasm32 b/test_conformance/spirv_new/spirv_asm/fdiv_double.spvasm32 new file mode 100644 index 00000000..eae4280f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_double.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %17 + %19 = OpLoad %double %18 Aligned 8 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %17 + %21 = OpLoad %double %20 Aligned 8 + %22 = OpFDiv %double %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %17 + OpStore %23 %22 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_double.spvasm64 b/test_conformance/spirv_new/spirv_asm/fdiv_double.spvasm64 new file mode 100644 index 00000000..613178fc --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_double.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %20 + %22 = OpLoad %double %21 Aligned 8 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %20 + %24 = OpLoad %double %23 Aligned 8 + %25 = OpFDiv %double %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %20 + OpStore %26 %25 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_double2.spvasm32 b/test_conformance/spirv_new/spirv_asm/fdiv_double2.spvasm32 new file mode 100644 index 00000000..dff1bd9a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_double2.spvasm32 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %18 + %20 = OpLoad %v2double %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %18 + %22 = OpLoad %v2double %21 Aligned 16 + %23 = OpFDiv %v2double %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_double2.spvasm64 b/test_conformance/spirv_new/spirv_asm/fdiv_double2.spvasm64 new file mode 100644 index 00000000..09069748 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_double2.spvasm64 @@ -0,0 +1,51 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %21 + %23 = OpLoad %v2double %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %21 + %25 = OpLoad %v2double %24 Aligned 16 + %26 = OpFDiv %v2double %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_float.spvasm32 b/test_conformance/spirv_new/spirv_asm/fdiv_float.spvasm32 new file mode 100644 index 00000000..f12a75fd --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_float.spvasm32 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %17 + %19 = OpLoad %float %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %17 + %21 = OpLoad %float %20 Aligned 4 + %22 = OpFDiv %float %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %17 + OpStore %23 %22 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_float.spvasm64 b/test_conformance/spirv_new/spirv_asm/fdiv_float.spvasm64 new file mode 100644 index 00000000..d9f7e374 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_float.spvasm64 @@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %20 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %20 + %24 = OpLoad %float %23 Aligned 4 + %25 = OpFDiv %float %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %20 + OpStore %26 %25 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_float4.spvasm32 b/test_conformance/spirv_new/spirv_asm/fdiv_float4.spvasm32 new file mode 100644 index 00000000..2e494d92 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_float4.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %18 + %20 = OpLoad %v4float %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %18 + %22 = OpLoad %v4float %21 Aligned 16 + %23 = OpFDiv %v4float %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_float4.spvasm64 b/test_conformance/spirv_new/spirv_asm/fdiv_float4.spvasm64 new file mode 100644 index 00000000..bcfbee7c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_float4.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %21 + %23 = OpLoad %v4float %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %21 + %25 = OpLoad %v4float %24 Aligned 16 + %26 = OpFDiv %v4float %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_half.spvasm32 b/test_conformance/spirv_new/spirv_asm/fdiv_half.spvasm32 new file mode 100644 index 00000000..03c56e53 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_half.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %17 + %19 = OpLoad %half %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %17 + %21 = OpLoad %half %20 + %22 = OpFDiv %half %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %17 + OpStore %23 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fdiv_half.spvasm64 b/test_conformance/spirv_new/spirv_asm/fdiv_half.spvasm64 new file mode 100644 index 00000000..1001b32c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fdiv_half.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %20 + %22 = OpLoad %half %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %20 + %24 = OpLoad %half %23 + %25 = OpFDiv %half %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %20 + OpStore %26 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_double.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmod_double.spvasm32 new file mode 100644 index 00000000..477f7b3d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_double.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %17 + %19 = OpLoad %double %18 Aligned 8 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %17 + %21 = OpLoad %double %20 Aligned 8 + %22 = OpFMod %double %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %17 + OpStore %23 %22 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_double.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmod_double.spvasm64 new file mode 100644 index 00000000..a5c4cd42 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_double.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %20 + %22 = OpLoad %double %21 Aligned 8 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %20 + %24 = OpLoad %double %23 Aligned 8 + %25 = OpFMod %double %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %20 + OpStore %26 %25 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_double2.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmod_double2.spvasm32 new file mode 100644 index 00000000..c87a039e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_double2.spvasm32 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %18 + %20 = OpLoad %v2double %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %18 + %22 = OpLoad %v2double %21 Aligned 16 + %23 = OpFMod %v2double %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_double2.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmod_double2.spvasm64 new file mode 100644 index 00000000..8fd6538c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_double2.spvasm64 @@ -0,0 +1,51 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %21 + %23 = OpLoad %v2double %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %21 + %25 = OpLoad %v2double %24 Aligned 16 + %26 = OpFMod %v2double %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_float.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmod_float.spvasm32 new file mode 100644 index 00000000..89e67086 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_float.spvasm32 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %17 + %19 = OpLoad %float %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %17 + %21 = OpLoad %float %20 Aligned 4 + %22 = OpFMod %float %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %17 + OpStore %23 %22 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_float.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmod_float.spvasm64 new file mode 100644 index 00000000..e9262b12 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_float.spvasm64 @@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %20 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %20 + %24 = OpLoad %float %23 Aligned 4 + %25 = OpFMod %float %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %20 + OpStore %26 %25 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_float4.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmod_float4.spvasm32 new file mode 100644 index 00000000..e23bce82 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_float4.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %18 + %20 = OpLoad %v4float %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %18 + %22 = OpLoad %v4float %21 Aligned 16 + %23 = OpFMod %v4float %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_float4.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmod_float4.spvasm64 new file mode 100644 index 00000000..aaf4206c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_float4.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %21 + %23 = OpLoad %v4float %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %21 + %25 = OpLoad %v4float %24 Aligned 16 + %26 = OpFMod %v4float %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_half.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmod_half.spvasm32 new file mode 100644 index 00000000..68f0557b --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_half.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %17 + %19 = OpLoad %half %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %17 + %21 = OpLoad %half %20 + %22 = OpFMod %half %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %17 + OpStore %23 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmod_half.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmod_half.spvasm64 new file mode 100644 index 00000000..9778bc0b --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmod_half.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %20 + %22 = OpLoad %half %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %20 + %24 = OpLoad %half %23 + %25 = OpFMod %half %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %20 + OpStore %26 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_double.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmul_double.spvasm32 new file mode 100644 index 00000000..38db8d87 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_double.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %17 + %19 = OpLoad %double %18 Aligned 8 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %17 + %21 = OpLoad %double %20 Aligned 8 + %22 = OpFMul %double %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %17 + OpStore %23 %22 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_double.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmul_double.spvasm64 new file mode 100644 index 00000000..40b13b02 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_double.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %20 + %22 = OpLoad %double %21 Aligned 8 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %20 + %24 = OpLoad %double %23 Aligned 8 + %25 = OpFMul %double %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %20 + OpStore %26 %25 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_double2.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmul_double2.spvasm32 new file mode 100644 index 00000000..0d631340 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_double2.spvasm32 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %18 + %20 = OpLoad %v2double %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %18 + %22 = OpLoad %v2double %21 Aligned 16 + %23 = OpFMul %v2double %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_double2.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmul_double2.spvasm64 new file mode 100644 index 00000000..5cb1dae3 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_double2.spvasm64 @@ -0,0 +1,51 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %21 + %23 = OpLoad %v2double %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %21 + %25 = OpLoad %v2double %24 Aligned 16 + %26 = OpFMul %v2double %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_float.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmul_float.spvasm32 new file mode 100644 index 00000000..0b32b87d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_float.spvasm32 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %17 + %19 = OpLoad %float %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %17 + %21 = OpLoad %float %20 Aligned 4 + %22 = OpFMul %float %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %17 + OpStore %23 %22 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_float.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmul_float.spvasm64 new file mode 100644 index 00000000..e10a4253 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_float.spvasm64 @@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %20 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %20 + %24 = OpLoad %float %23 Aligned 4 + %25 = OpFMul %float %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %20 + OpStore %26 %25 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_float4.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmul_float4.spvasm32 new file mode 100644 index 00000000..1884e586 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_float4.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %18 + %20 = OpLoad %v4float %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %18 + %22 = OpLoad %v4float %21 Aligned 16 + %23 = OpFMul %v4float %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_float4.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmul_float4.spvasm64 new file mode 100644 index 00000000..63c5dd7a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_float4.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %21 + %23 = OpLoad %v4float %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %21 + %25 = OpLoad %v4float %24 Aligned 16 + %26 = OpFMul %v4float %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_half.spvasm32 b/test_conformance/spirv_new/spirv_asm/fmul_half.spvasm32 new file mode 100644 index 00000000..efeee4ec --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_half.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %17 + %19 = OpLoad %half %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %17 + %21 = OpLoad %half %20 + %22 = OpFMul %half %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %17 + OpStore %23 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fmul_half.spvasm64 b/test_conformance/spirv_new/spirv_asm/fmul_half.spvasm64 new file mode 100644 index 00000000..a944ced8 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fmul_half.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %20 + %22 = OpLoad %half %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %20 + %24 = OpLoad %half %23 + %25 = OpFMul %half %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %20 + OpStore %26 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_double.spvasm32 b/test_conformance/spirv_new/spirv_asm/frem_double.spvasm32 new file mode 100644 index 00000000..059bcb7b --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_double.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %17 + %19 = OpLoad %double %18 Aligned 8 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %17 + %21 = OpLoad %double %20 Aligned 8 + %22 = OpFRem %double %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %17 + OpStore %23 %22 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_double.spvasm64 b/test_conformance/spirv_new/spirv_asm/frem_double.spvasm64 new file mode 100644 index 00000000..e9372cdc --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_double.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %20 + %22 = OpLoad %double %21 Aligned 8 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %20 + %24 = OpLoad %double %23 Aligned 8 + %25 = OpFRem %double %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %20 + OpStore %26 %25 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_double2.spvasm32 b/test_conformance/spirv_new/spirv_asm/frem_double2.spvasm32 new file mode 100644 index 00000000..6b6df427 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_double2.spvasm32 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %18 + %20 = OpLoad %v2double %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %18 + %22 = OpLoad %v2double %21 Aligned 16 + %23 = OpFRem %v2double %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_double2.spvasm64 b/test_conformance/spirv_new/spirv_asm/frem_double2.spvasm64 new file mode 100644 index 00000000..afcd0861 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_double2.spvasm64 @@ -0,0 +1,51 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %21 + %23 = OpLoad %v2double %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %21 + %25 = OpLoad %v2double %24 Aligned 16 + %26 = OpFRem %v2double %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_float.spvasm32 b/test_conformance/spirv_new/spirv_asm/frem_float.spvasm32 new file mode 100644 index 00000000..8a67ea3e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_float.spvasm32 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %17 + %19 = OpLoad %float %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %17 + %21 = OpLoad %float %20 Aligned 4 + %22 = OpFRem %float %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %17 + OpStore %23 %22 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_float.spvasm64 b/test_conformance/spirv_new/spirv_asm/frem_float.spvasm64 new file mode 100644 index 00000000..4b087068 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_float.spvasm64 @@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %20 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %20 + %24 = OpLoad %float %23 Aligned 4 + %25 = OpFRem %float %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %20 + OpStore %26 %25 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_float4.spvasm32 b/test_conformance/spirv_new/spirv_asm/frem_float4.spvasm32 new file mode 100644 index 00000000..d2f06b45 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_float4.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %18 + %20 = OpLoad %v4float %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %18 + %22 = OpLoad %v4float %21 Aligned 16 + %23 = OpFRem %v4float %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_float4.spvasm64 b/test_conformance/spirv_new/spirv_asm/frem_float4.spvasm64 new file mode 100644 index 00000000..efecb17b --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_float4.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %21 + %23 = OpLoad %v4float %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %21 + %25 = OpLoad %v4float %24 Aligned 16 + %26 = OpFRem %v4float %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_half.spvasm32 b/test_conformance/spirv_new/spirv_asm/frem_half.spvasm32 new file mode 100644 index 00000000..f6fc04ed --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_half.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %17 + %19 = OpLoad %half %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %17 + %21 = OpLoad %half %20 + %22 = OpFRem %half %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %17 + OpStore %23 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/frem_half.spvasm64 b/test_conformance/spirv_new/spirv_asm/frem_half.spvasm64 new file mode 100644 index 00000000..06089631 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/frem_half.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %20 + %22 = OpLoad %half %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %20 + %24 = OpLoad %half %23 + %25 = OpFRem %half %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %20 + OpStore %26 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_double.spvasm32 b/test_conformance/spirv_new/spirv_asm/fsub_double.spvasm32 new file mode 100644 index 00000000..a8f161fa --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_double.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %17 + %19 = OpLoad %double %18 Aligned 8 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %17 + %21 = OpLoad %double %20 Aligned 8 + %22 = OpFSub %double %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %17 + OpStore %23 %22 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_double.spvasm64 b/test_conformance/spirv_new/spirv_asm/fsub_double.spvasm64 new file mode 100644 index 00000000..36beb94d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_double.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %lhs %20 + %22 = OpLoad %double %21 Aligned 8 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %20 + %24 = OpLoad %double %23 Aligned 8 + %25 = OpFSub %double %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %res %20 + OpStore %26 %25 Aligned 8 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_double2.spvasm32 b/test_conformance/spirv_new/spirv_asm/fsub_double2.spvasm32 new file mode 100644 index 00000000..6a3aa188 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_double2.spvasm32 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %18 + %20 = OpLoad %v2double %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %18 + %22 = OpLoad %v2double %21 Aligned 16 + %23 = OpFSub %v2double %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_double2.spvasm64 b/test_conformance/spirv_new/spirv_asm/fsub_double2.spvasm64 new file mode 100644 index 00000000..1c73bc91 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_double2.spvasm64 @@ -0,0 +1,51 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Float64 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_v2double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %lhs %21 + %23 = OpLoad %v2double %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %rhs %21 + %25 = OpLoad %v2double %24 Aligned 16 + %26 = OpFSub %v2double %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_float.spvasm32 b/test_conformance/spirv_new/spirv_asm/fsub_float.spvasm32 new file mode 100644 index 00000000..95d58eb3 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_float.spvasm32 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %17 + %19 = OpLoad %float %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %17 + %21 = OpLoad %float %20 Aligned 4 + %22 = OpFSub %float %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %17 + OpStore %23 %22 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_float.spvasm64 b/test_conformance/spirv_new/spirv_asm/fsub_float.spvasm64 new file mode 100644 index 00000000..ff1089f8 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_float.spvasm64 @@ -0,0 +1,49 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %lhs %20 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %20 + %24 = OpLoad %float %23 Aligned 4 + %25 = OpFSub %float %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %res %20 + OpStore %26 %25 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_float4.spvasm32 b/test_conformance/spirv_new/spirv_asm/fsub_float4.spvasm32 new file mode 100644 index 00000000..039864fd --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_float4.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %18 + %20 = OpLoad %v4float %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %18 + %22 = OpLoad %v4float %21 Aligned 16 + %23 = OpFSub %v4float %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_float4.spvasm64 b/test_conformance/spirv_new/spirv_asm/fsub_float4.spvasm64 new file mode 100644 index 00000000..4b7ace20 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_float4.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %entry = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %21 + %23 = OpLoad %v4float %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %rhs %21 + %25 = OpLoad %v4float %24 Aligned 16 + %26 = OpFSub %v4float %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_half.spvasm32 b/test_conformance/spirv_new/spirv_asm/fsub_half.spvasm32 new file mode 100644 index 00000000..c8698a4f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_half.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 24 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %17 + %19 = OpLoad %half %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %17 + %21 = OpLoad %half %20 + %22 = OpFSub %half %19 %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %17 + OpStore %23 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/fsub_half.spvasm64 b/test_conformance/spirv_new/spirv_asm/fsub_half.spvasm64 new file mode 100644 index 00000000..7889c841 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/fsub_half.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float16 + %1 = OpExtInstImport "OpenCL.std" + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %2 "fmath_spv" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpName %entry "entry" + OpDecorate %7 FuncParamAttr NoCapture + %7 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %7 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_half + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %2 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_half + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_half + %entry = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %lhs %20 + %22 = OpLoad %half %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %rhs %20 + %24 = OpLoad %half %23 + %25 = OpFSub %half %22 %24 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %res %20 + OpStore %26 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/label_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/label_simple.spvasm32 new file mode 100644 index 00000000..5fd46309 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/label_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "label_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %10 = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %10 %13 + %16 = OpLoad %uint %14 + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/label_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/label_simple.spvasm64 new file mode 100644 index 00000000..2c403fa2 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/label_simple.spvasm64 @@ -0,0 +1,40 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "label_simple" + OpName %in "in" + OpName %out "out" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17 + %20 = OpLoad %uint %18 + OpStore %19 %20 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/lifetime_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/lifetime_simple.spvasm32 new file mode 100644 index 00000000..644607a1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/lifetime_simple.spvasm32 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "lifetime_simple" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpVariable %_ptr_Function_uint Function + %18 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %uint %18 0 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpISub %uint %21 %23 + OpLifetimeStart %17 0 + OpStore %17 %24 + %25 = OpLoad %uint %17 + OpLifetimeStop %17 0 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %26 %25 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/lifetime_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/lifetime_simple.spvasm64 new file mode 100644 index 00000000..06e4b813 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/lifetime_simple.spvasm64 @@ -0,0 +1,55 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 31 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "lifetime_simple" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %21 = OpCompositeExtract %ulong %20 0 + %22 = OpShiftLeftLogical %ulong %21 %ulong_32 + %23 = OpShiftRightArithmetic %ulong %22 %ulong_32 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %27 = OpLoad %uint %26 Aligned 4 + %28 = OpISub %uint %25 %27 + OpLifetimeStart %19 0 + OpStore %19 %28 + %29 = OpLoad %uint %19 + OpLifetimeStop %19 0 + %30 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23 + OpStore %30 %29 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/linkage_export.spvasm32 b/test_conformance/spirv_new/spirv_asm/linkage_export.spvasm32 new file mode 100644 index 00000000..9208b199 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/linkage_export.spvasm32 @@ -0,0 +1,20 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 8 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpName %simple_fnegate_linkage "simple_fnegate_linkage" + OpDecorate %simple_fnegate_linkage LinkageAttributes "simple_fnegate_linkage" Export + %void = OpTypeVoid + %float = OpTypeFloat 32 + %4 = OpTypeFunction %float %float +%simple_fnegate_linkage = OpFunction %float Const %4 + %5 = OpFunctionParameter %float + %6 = OpLabel + %7 = OpFNegate %float %5 + OpReturnValue %7 + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/linkage_export.spvasm64 b/test_conformance/spirv_new/spirv_asm/linkage_export.spvasm64 new file mode 100644 index 00000000..f13f6479 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/linkage_export.spvasm64 @@ -0,0 +1,20 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 8 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical64 OpenCL + OpName %simple_fnegate_linkage "simple_fnegate_linkage" + OpDecorate %simple_fnegate_linkage LinkageAttributes "simple_fnegate_linkage" Export + %void = OpTypeVoid + %float = OpTypeFloat 32 + %4 = OpTypeFunction %float %float +%simple_fnegate_linkage = OpFunction %float Const %4 + %5 = OpFunctionParameter %float + %6 = OpLabel + %7 = OpFNegate %float %5 + OpReturnValue %7 + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/linkage_import.spvasm32 b/test_conformance/spirv_new/spirv_asm/linkage_import.spvasm32 new file mode 100644 index 00000000..0171ce3a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/linkage_import.spvasm32 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "test_linkage" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %4 LinkageAttributes "simple_fnegate_linkage" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %12 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %4 = OpFunction %float Const %12 + %13 = OpFunctionParameter %float + OpFunctionEnd + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %14 = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %16 + %18 = OpLoad %float %17 + %19 = OpFunctionCall %float %4 %18 + OpStore %17 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/linkage_import.spvasm64 b/test_conformance/spirv_new/spirv_asm/linkage_import.spvasm64 new file mode 100644 index 00000000..c3212a25 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/linkage_import.spvasm64 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "test_linkage" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %4 LinkageAttributes "simple_fnegate_linkage" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 + %13 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %4 = OpFunction %float Const %13 + %14 = OpFunctionParameter %float + OpFunctionEnd + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %15 = OpLabel + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %19 + %21 = OpLoad %float %20 + %22 = OpFunctionCall %float %4 %21 + OpStore %20 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_dont_unroll.spvasm32 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_dont_unroll.spvasm32 new file mode 100644 index 00000000..d9a7a9b3 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_dont_unroll.spvasm32 @@ -0,0 +1,70 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 40 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_conditional_dont_unroll" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpVariable %_ptr_Function_uint Function + %21 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %22 = OpCompositeExtract %uint %21 0 + OpStore %19 %uint_0 Aligned 4 + OpStore %20 %uint_0 Aligned 4 + OpBranch %23 + %23 = OpLabel + %24 = OpLoad %uint %20 + %25 = OpSLessThan %bool %24 %rep + OpLoopMerge %26 %27 DontUnroll + OpBranchConditional %25 %28 %26 + %28 = OpLabel + %29 = OpLoad %uint %20 + %30 = OpIMul %uint %29 %num + %31 = OpIAdd %uint %22 %30 + %32 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %31 + %33 = OpLoad %uint %32 + %34 = OpLoad %uint %19 + %35 = OpIAdd %uint %34 %33 + OpStore %19 %35 Aligned 4 + OpBranch %27 + %27 = OpLabel + %36 = OpLoad %uint %20 + %37 = OpIAdd %uint %36 %uint_1 + OpStore %20 %37 + OpBranch %23 + %26 = OpLabel + %38 = OpLoad %uint %19 + %39 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %22 + OpStore %39 %38 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_dont_unroll.spvasm64 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_dont_unroll.spvasm64 new file mode 100644 index 00000000..286cbd83 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_dont_unroll.spvasm64 @@ -0,0 +1,76 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 45 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_conditional_dont_unroll" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %19 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %19 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %20 = OpLabel + %21 = OpVariable %_ptr_Function_uint Function + %22 = OpVariable %_ptr_Function_uint Function + %23 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %24 = OpCompositeExtract %ulong %23 0 + %25 = OpShiftLeftLogical %ulong %24 %ulong_32 + %26 = OpShiftRightArithmetic %ulong %25 %ulong_32 + %27 = OpSConvert %uint %26 + OpStore %21 %uint_0 Aligned 4 + OpStore %22 %uint_0 Aligned 4 + OpBranch %28 + %28 = OpLabel + %29 = OpLoad %uint %22 + %30 = OpSLessThan %bool %29 %rep + OpLoopMerge %31 %32 DontUnroll + OpBranchConditional %30 %33 %31 + %33 = OpLabel + %34 = OpLoad %uint %22 + %35 = OpIMul %uint %34 %num + %36 = OpIAdd %uint %27 %35 + %37 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %36 + %38 = OpLoad %uint %37 + %39 = OpLoad %uint %21 + %40 = OpIAdd %uint %39 %38 + OpStore %21 %40 Aligned 4 + OpBranch %32 + %32 = OpLabel + %41 = OpLoad %uint %22 + %42 = OpIAdd %uint %41 %uint_1 + OpStore %22 %42 + OpBranch %28 + %31 = OpLabel + %43 = OpLoad %uint %21 + %44 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %26 + OpStore %44 %43 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_none.spvasm32 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_none.spvasm32 new file mode 100644 index 00000000..2e556de8 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_none.spvasm32 @@ -0,0 +1,70 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 40 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_conditional_none" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpVariable %_ptr_Function_uint Function + %21 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %22 = OpCompositeExtract %uint %21 0 + OpStore %19 %uint_0 Aligned 4 + OpStore %20 %uint_0 Aligned 4 + OpBranch %23 + %23 = OpLabel + %24 = OpLoad %uint %20 + %25 = OpSLessThan %bool %24 %rep + OpLoopMerge %26 %27 None + OpBranchConditional %25 %28 %26 + %28 = OpLabel + %29 = OpLoad %uint %20 + %30 = OpIMul %uint %29 %num + %31 = OpIAdd %uint %22 %30 + %32 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %31 + %33 = OpLoad %uint %32 + %34 = OpLoad %uint %19 + %35 = OpIAdd %uint %34 %33 + OpStore %19 %35 Aligned 4 + OpBranch %27 + %27 = OpLabel + %36 = OpLoad %uint %20 + %37 = OpIAdd %uint %36 %uint_1 + OpStore %20 %37 + OpBranch %23 + %26 = OpLabel + %38 = OpLoad %uint %19 + %39 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %22 + OpStore %39 %38 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_none.spvasm64 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_none.spvasm64 new file mode 100644 index 00000000..cef58ed1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_none.spvasm64 @@ -0,0 +1,76 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 45 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_conditional_none" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %19 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %19 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %20 = OpLabel + %21 = OpVariable %_ptr_Function_uint Function + %22 = OpVariable %_ptr_Function_uint Function + %23 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %24 = OpCompositeExtract %ulong %23 0 + %25 = OpShiftLeftLogical %ulong %24 %ulong_32 + %26 = OpShiftRightArithmetic %ulong %25 %ulong_32 + %27 = OpSConvert %uint %26 + OpStore %21 %uint_0 Aligned 4 + OpStore %22 %uint_0 Aligned 4 + OpBranch %28 + %28 = OpLabel + %29 = OpLoad %uint %22 + %30 = OpSLessThan %bool %29 %rep + OpLoopMerge %31 %32 None + OpBranchConditional %30 %33 %31 + %33 = OpLabel + %34 = OpLoad %uint %22 + %35 = OpIMul %uint %34 %num + %36 = OpIAdd %uint %27 %35 + %37 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %36 + %38 = OpLoad %uint %37 + %39 = OpLoad %uint %21 + %40 = OpIAdd %uint %39 %38 + OpStore %21 %40 Aligned 4 + OpBranch %32 + %32 = OpLabel + %41 = OpLoad %uint %22 + %42 = OpIAdd %uint %41 %uint_1 + OpStore %22 %42 + OpBranch %28 + %31 = OpLabel + %43 = OpLoad %uint %21 + %44 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %26 + OpStore %44 %43 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_unroll.spvasm32 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_unroll.spvasm32 new file mode 100644 index 00000000..34e0d4af --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_unroll.spvasm32 @@ -0,0 +1,70 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 40 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_conditional_unroll" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpVariable %_ptr_Function_uint Function + %21 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %22 = OpCompositeExtract %uint %21 0 + OpStore %19 %uint_0 Aligned 4 + OpStore %20 %uint_0 Aligned 4 + OpBranch %23 + %23 = OpLabel + %24 = OpLoad %uint %20 + %25 = OpSLessThan %bool %24 %rep + OpLoopMerge %26 %27 Unroll + OpBranchConditional %25 %28 %26 + %28 = OpLabel + %29 = OpLoad %uint %20 + %30 = OpIMul %uint %29 %num + %31 = OpIAdd %uint %22 %30 + %32 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %31 + %33 = OpLoad %uint %32 + %34 = OpLoad %uint %19 + %35 = OpIAdd %uint %34 %33 + OpStore %19 %35 Aligned 4 + OpBranch %27 + %27 = OpLabel + %36 = OpLoad %uint %20 + %37 = OpIAdd %uint %36 %uint_1 + OpStore %20 %37 + OpBranch %23 + %26 = OpLabel + %38 = OpLoad %uint %19 + %39 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %22 + OpStore %39 %38 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_unroll.spvasm64 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_unroll.spvasm64 new file mode 100644 index 00000000..7abaa6f9 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_conditional_unroll.spvasm64 @@ -0,0 +1,76 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 45 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_conditional_unroll" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %19 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %19 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %20 = OpLabel + %21 = OpVariable %_ptr_Function_uint Function + %22 = OpVariable %_ptr_Function_uint Function + %23 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %24 = OpCompositeExtract %ulong %23 0 + %25 = OpShiftLeftLogical %ulong %24 %ulong_32 + %26 = OpShiftRightArithmetic %ulong %25 %ulong_32 + %27 = OpSConvert %uint %26 + OpStore %21 %uint_0 Aligned 4 + OpStore %22 %uint_0 Aligned 4 + OpBranch %28 + %28 = OpLabel + %29 = OpLoad %uint %22 + %30 = OpSLessThan %bool %29 %rep + OpLoopMerge %31 %32 Unroll + OpBranchConditional %30 %33 %31 + %33 = OpLabel + %34 = OpLoad %uint %22 + %35 = OpIMul %uint %34 %num + %36 = OpIAdd %uint %27 %35 + %37 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %36 + %38 = OpLoad %uint %37 + %39 = OpLoad %uint %21 + %40 = OpIAdd %uint %39 %38 + OpStore %21 %40 Aligned 4 + OpBranch %32 + %32 = OpLabel + %41 = OpLoad %uint %22 + %42 = OpIAdd %uint %41 %uint_1 + OpStore %22 %42 + OpBranch %28 + %31 = OpLabel + %43 = OpLoad %uint %21 + %44 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %26 + OpStore %44 %43 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_dont_unroll.spvasm32 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_dont_unroll.spvasm32 new file mode 100644 index 00000000..efa68726 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_dont_unroll.spvasm32 @@ -0,0 +1,72 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 41 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_dont_unroll" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpVariable %_ptr_Function_uint Function + %21 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %22 = OpCompositeExtract %uint %21 0 + OpStore %19 %uint_0 Aligned 4 + OpStore %20 %uint_0 Aligned 4 + OpBranch %23 + %23 = OpLabel + OpLoopMerge %24 %25 DontUnroll + OpBranch %26 + %26 = OpLabel + %27 = OpLoad %uint %20 + %28 = OpSLessThan %bool %27 %rep + OpBranchConditional %28 %29 %24 + %29 = OpLabel + %30 = OpLoad %uint %20 + %31 = OpIMul %uint %30 %num + %32 = OpIAdd %uint %22 %31 + %33 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %32 + %34 = OpLoad %uint %33 + %35 = OpLoad %uint %19 + %36 = OpIAdd %uint %35 %34 + OpStore %19 %36 Aligned 4 + OpBranch %25 + %25 = OpLabel + %37 = OpLoad %uint %20 + %38 = OpIAdd %uint %37 %uint_1 + OpStore %20 %38 + OpBranch %23 + %24 = OpLabel + %39 = OpLoad %uint %19 + %40 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %22 + OpStore %40 %39 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_dont_unroll.spvasm64 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_dont_unroll.spvasm64 new file mode 100644 index 00000000..6f58f2c8 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_dont_unroll.spvasm64 @@ -0,0 +1,78 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 46 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_dont_unroll" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %19 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %19 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %20 = OpLabel + %21 = OpVariable %_ptr_Function_uint Function + %22 = OpVariable %_ptr_Function_uint Function + %23 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %24 = OpCompositeExtract %ulong %23 0 + %25 = OpShiftLeftLogical %ulong %24 %ulong_32 + %26 = OpShiftRightArithmetic %ulong %25 %ulong_32 + %27 = OpSConvert %uint %26 + OpStore %21 %uint_0 Aligned 4 + OpStore %22 %uint_0 Aligned 4 + OpBranch %28 + %28 = OpLabel + OpLoopMerge %29 %30 DontUnroll + OpBranch %31 + %31 = OpLabel + %32 = OpLoad %uint %22 + %33 = OpSLessThan %bool %32 %rep + OpBranchConditional %33 %34 %29 + %34 = OpLabel + %35 = OpLoad %uint %22 + %36 = OpIMul %uint %35 %num + %37 = OpIAdd %uint %27 %36 + %38 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %37 + %39 = OpLoad %uint %38 + %40 = OpLoad %uint %21 + %41 = OpIAdd %uint %40 %39 + OpStore %21 %41 Aligned 4 + OpBranch %30 + %30 = OpLabel + %42 = OpLoad %uint %22 + %43 = OpIAdd %uint %42 %uint_1 + OpStore %22 %43 + OpBranch %28 + %29 = OpLabel + %44 = OpLoad %uint %21 + %45 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %26 + OpStore %45 %44 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_none.spvasm32 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_none.spvasm32 new file mode 100644 index 00000000..b925d5dd --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_none.spvasm32 @@ -0,0 +1,72 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 41 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_none" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpVariable %_ptr_Function_uint Function + %21 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %22 = OpCompositeExtract %uint %21 0 + OpStore %19 %uint_0 Aligned 4 + OpStore %20 %uint_0 Aligned 4 + OpBranch %23 + %23 = OpLabel + OpLoopMerge %24 %25 None + OpBranch %26 + %26 = OpLabel + %27 = OpLoad %uint %20 + %28 = OpSLessThan %bool %27 %rep + OpBranchConditional %28 %29 %24 + %29 = OpLabel + %30 = OpLoad %uint %20 + %31 = OpIMul %uint %30 %num + %32 = OpIAdd %uint %22 %31 + %33 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %32 + %34 = OpLoad %uint %33 + %35 = OpLoad %uint %19 + %36 = OpIAdd %uint %35 %34 + OpStore %19 %36 Aligned 4 + OpBranch %25 + %25 = OpLabel + %37 = OpLoad %uint %20 + %38 = OpIAdd %uint %37 %uint_1 + OpStore %20 %38 + OpBranch %23 + %24 = OpLabel + %39 = OpLoad %uint %19 + %40 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %22 + OpStore %40 %39 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_none.spvasm64 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_none.spvasm64 new file mode 100644 index 00000000..3164d2bb --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_none.spvasm64 @@ -0,0 +1,78 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 46 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_none" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %19 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %19 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %20 = OpLabel + %21 = OpVariable %_ptr_Function_uint Function + %22 = OpVariable %_ptr_Function_uint Function + %23 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %24 = OpCompositeExtract %ulong %23 0 + %25 = OpShiftLeftLogical %ulong %24 %ulong_32 + %26 = OpShiftRightArithmetic %ulong %25 %ulong_32 + %27 = OpSConvert %uint %26 + OpStore %21 %uint_0 Aligned 4 + OpStore %22 %uint_0 Aligned 4 + OpBranch %28 + %28 = OpLabel + OpLoopMerge %29 %30 None + OpBranch %31 + %31 = OpLabel + %32 = OpLoad %uint %22 + %33 = OpSLessThan %bool %32 %rep + OpBranchConditional %33 %34 %29 + %34 = OpLabel + %35 = OpLoad %uint %22 + %36 = OpIMul %uint %35 %num + %37 = OpIAdd %uint %27 %36 + %38 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %37 + %39 = OpLoad %uint %38 + %40 = OpLoad %uint %21 + %41 = OpIAdd %uint %40 %39 + OpStore %21 %41 Aligned 4 + OpBranch %30 + %30 = OpLabel + %42 = OpLoad %uint %22 + %43 = OpIAdd %uint %42 %uint_1 + OpStore %22 %43 + OpBranch %28 + %29 = OpLabel + %44 = OpLoad %uint %21 + %45 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %26 + OpStore %45 %44 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_unroll.spvasm32 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_unroll.spvasm32 new file mode 100644 index 00000000..f5387ab4 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_unroll.spvasm32 @@ -0,0 +1,72 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 41 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_unroll" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpVariable %_ptr_Function_uint Function + %21 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %22 = OpCompositeExtract %uint %21 0 + OpStore %19 %uint_0 Aligned 4 + OpStore %20 %uint_0 Aligned 4 + OpBranch %23 + %23 = OpLabel + OpLoopMerge %24 %25 Unroll + OpBranch %26 + %26 = OpLabel + %27 = OpLoad %uint %20 + %28 = OpSLessThan %bool %27 %rep + OpBranchConditional %28 %29 %24 + %29 = OpLabel + %30 = OpLoad %uint %20 + %31 = OpIMul %uint %30 %num + %32 = OpIAdd %uint %22 %31 + %33 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %32 + %34 = OpLoad %uint %33 + %35 = OpLoad %uint %19 + %36 = OpIAdd %uint %35 %34 + OpStore %19 %36 Aligned 4 + OpBranch %25 + %25 = OpLabel + %37 = OpLoad %uint %20 + %38 = OpIAdd %uint %37 %uint_1 + OpStore %20 %38 + OpBranch %23 + %24 = OpLabel + %39 = OpLoad %uint %19 + %40 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %22 + OpStore %40 %39 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/loop_merge_branch_unroll.spvasm64 b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_unroll.spvasm64 new file mode 100644 index 00000000..fb6fcb68 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/loop_merge_branch_unroll.spvasm64 @@ -0,0 +1,78 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 46 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "loop_merge_branch_unroll" + OpName %res "res" + OpName %in "in" + OpName %rep "rep" + OpName %num "num" + OpDecorate %6 FuncParamAttr NoCapture + %6 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %6 %res %in + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %19 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %19 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rep = OpFunctionParameter %uint + %num = OpFunctionParameter %uint + %20 = OpLabel + %21 = OpVariable %_ptr_Function_uint Function + %22 = OpVariable %_ptr_Function_uint Function + %23 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %24 = OpCompositeExtract %ulong %23 0 + %25 = OpShiftLeftLogical %ulong %24 %ulong_32 + %26 = OpShiftRightArithmetic %ulong %25 %ulong_32 + %27 = OpSConvert %uint %26 + OpStore %21 %uint_0 Aligned 4 + OpStore %22 %uint_0 Aligned 4 + OpBranch %28 + %28 = OpLabel + OpLoopMerge %29 %30 Unroll + OpBranch %31 + %31 = OpLabel + %32 = OpLoad %uint %22 + %33 = OpSLessThan %bool %32 %rep + OpBranchConditional %33 %34 %29 + %34 = OpLabel + %35 = OpLoad %uint %22 + %36 = OpIMul %uint %35 %num + %37 = OpIAdd %uint %27 %36 + %38 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %37 + %39 = OpLoad %uint %38 + %40 = OpLoad %uint %21 + %41 = OpIAdd %uint %40 %39 + OpStore %21 %41 Aligned 4 + OpBranch %30 + %30 = OpLabel + %42 = OpLoad %uint %22 + %43 = OpIAdd %uint %42 %uint_1 + OpStore %22 %43 + OpBranch %28 + %29 = OpLabel + %44 = OpLoad %uint %21 + %45 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %26 + OpStore %45 %44 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_const.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_function_const.spvasm32 new file mode 100644 index 00000000..b6640b80 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_const.spvasm32 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_function_const" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %11 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %12 = OpFunction %float Const %11 + %13 = OpFunctionParameter %float + %14 = OpLabel + %15 = OpFNegate %float %13 + OpReturnValue %15 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %16 = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %18 + %20 = OpLoad %float %19 + %21 = OpFunctionCall %float %12 %20 + OpStore %19 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_const.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_function_const.spvasm64 new file mode 100644 index 00000000..97043561 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_const.spvasm64 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_function_const" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 + %12 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %13 = OpFunction %float Const %12 + %14 = OpFunctionParameter %float + %15 = OpLabel + %16 = OpFNegate %float %14 + OpReturnValue %16 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %21 + %23 = OpLoad %float %22 + %24 = OpFunctionCall %float %13 %23 + OpStore %22 %24 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_inline.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_function_inline.spvasm32 new file mode 100644 index 00000000..6067d662 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_inline.spvasm32 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_function_inline" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %11 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %12 = OpFunction %float Inline %11 + %13 = OpFunctionParameter %float + %14 = OpLabel + %15 = OpFNegate %float %13 + OpReturnValue %15 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %16 = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %18 + %20 = OpLoad %float %19 + %21 = OpFunctionCall %float %12 %20 + OpStore %19 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_inline.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_function_inline.spvasm64 new file mode 100644 index 00000000..f5b4a7ac --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_inline.spvasm64 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_function_inline" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 + %12 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %13 = OpFunction %float Inline %12 + %14 = OpFunctionParameter %float + %15 = OpLabel + %16 = OpFNegate %float %14 + OpReturnValue %16 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %21 + %23 = OpLoad %float %22 + %24 = OpFunctionCall %float %13 %23 + OpStore %22 %24 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_noinline.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_function_noinline.spvasm32 new file mode 100644 index 00000000..2c6b8e03 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_noinline.spvasm32 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_function_noinline" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %11 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %12 = OpFunction %float DontInline %11 + %13 = OpFunctionParameter %float + %14 = OpLabel + %15 = OpFNegate %float %13 + OpReturnValue %15 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %16 = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %18 + %20 = OpLoad %float %19 + %21 = OpFunctionCall %float %12 %20 + OpStore %19 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_noinline.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_function_noinline.spvasm64 new file mode 100644 index 00000000..67db8094 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_noinline.spvasm64 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_function_noinline" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 + %12 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %13 = OpFunction %float DontInline %12 + %14 = OpFunctionParameter %float + %15 = OpLabel + %16 = OpFNegate %float %14 + OpReturnValue %16 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %21 + %23 = OpLoad %float %22 + %24 = OpFunctionCall %float %13 %23 + OpStore %22 %24 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_none.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_function_none.spvasm32 new file mode 100644 index 00000000..634df875 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_none.spvasm32 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_function_none" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %11 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %12 = OpFunction %float None %11 + %13 = OpFunctionParameter %float + %14 = OpLabel + %15 = OpFNegate %float %13 + OpReturnValue %15 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %16 = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %18 + %20 = OpLoad %float %19 + %21 = OpFunctionCall %float %12 %20 + OpStore %19 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_none.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_function_none.spvasm64 new file mode 100644 index 00000000..451f9b77 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_none.spvasm64 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_function_none" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 + %12 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %13 = OpFunction %float None %12 + %14 = OpFunctionParameter %float + %15 = OpLabel + %16 = OpFNegate %float %14 + OpReturnValue %16 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %21 + %23 = OpLoad %float %22 + %24 = OpFunctionCall %float %13 %23 + OpStore %22 %24 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_pure.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_function_pure.spvasm32 new file mode 100644 index 00000000..f4e3d67f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_pure.spvasm32 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_function_pure" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %11 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %12 = OpFunction %float Pure %11 + %13 = OpFunctionParameter %float + %14 = OpLabel + %15 = OpFNegate %float %13 + OpReturnValue %15 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %16 = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %18 + %20 = OpLoad %float %19 + %21 = OpFunctionCall %float %12 %20 + OpStore %19 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_pure.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_function_pure.spvasm64 new file mode 100644 index 00000000..7ee623dc --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_pure.spvasm64 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_function_pure" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 + %12 = OpTypeFunction %float %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %13 = OpFunction %float Pure %12 + %14 = OpFunctionParameter %float + %15 = OpLabel + %16 = OpFNegate %float %14 + OpReturnValue %16 + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %21 + %23 = OpLoad %float %22 + %24 = OpFunctionCall %float %13 %23 + OpStore %22 %24 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_pure_ptr.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_function_pure_ptr.spvasm32 new file mode 100644 index 00000000..deab3d79 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_pure_ptr.spvasm32 @@ -0,0 +1,53 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 32 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_function_pure_ptr" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %uint_32 = OpConstant %uint 32 + %12 = OpTypeFunction %float %_ptr_CrossWorkgroup_float %uint + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %uint %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %14 = OpFunction %float Pure %12 + %15 = OpFunctionParameter %_ptr_CrossWorkgroup_float + %16 = OpFunctionParameter %uint + %17 = OpLabel + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %15 %16 + %19 = OpLoad %float %18 + %20 = OpFNegate %float %19 + OpReturnValue %20 + OpFunctionEnd + %21 = OpFunction %void None %13 + %22 = OpFunctionParameter %_ptr_CrossWorkgroup_float + %23 = OpFunctionParameter %uint + %24 = OpFunctionParameter %float + %25 = OpLabel + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %22 %23 + OpStore %26 %24 + OpReturn + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %27 = OpLabel + %28 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %29 = OpCompositeExtract %uint %28 0 + %30 = OpFunctionCall %float %14 %in %29 + %31 = OpFunctionCall %void %21 %in %29 %30 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_function_pure_ptr.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_function_pure_ptr.spvasm64 new file mode 100644 index 00000000..3ebe9e4e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_function_pure_ptr.spvasm64 @@ -0,0 +1,56 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 34 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_function_pure_ptr" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 + %12 = OpTypeFunction %float %_ptr_CrossWorkgroup_float %ulong + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %ulong %float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %14 = OpFunction %float Pure %12 + %15 = OpFunctionParameter %_ptr_CrossWorkgroup_float + %16 = OpFunctionParameter %ulong + %17 = OpLabel + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %15 %16 + %19 = OpLoad %float %18 + %20 = OpFNegate %float %19 + OpReturnValue %20 + OpFunctionEnd + %21 = OpFunction %void None %13 + %22 = OpFunctionParameter %_ptr_CrossWorkgroup_float + %23 = OpFunctionParameter %ulong + %24 = OpFunctionParameter %float + %25 = OpLabel + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %22 %23 + OpStore %26 %24 + OpReturn + OpFunctionEnd + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %27 = OpLabel + %28 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %29 = OpCompositeExtract %ulong %28 0 + %30 = OpShiftLeftLogical %ulong %29 %ulong_32 + %31 = OpShiftRightArithmetic %ulong %30 %ulong_32 + %32 = OpFunctionCall %float %14 %in %31 + %33 = OpFunctionCall %void %21 %in %31 %32 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_double.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_neg_double.spvasm32 new file mode 100644 index 00000000..8864d098 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_double.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_neg_double" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %13 + %15 = OpLoad %double %14 + %16 = OpFNegate %double %15 + OpStore %14 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_double.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_neg_double.spvasm64 new file mode 100644 index 00000000..0e012e87 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_double.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_neg_double" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %16 + %18 = OpLoad %double %17 + %19 = OpFNegate %double %18 + OpStore %17 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_float.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_neg_float.spvasm32 new file mode 100644 index 00000000..90e5d6f5 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_float.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_neg_float" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %13 + %15 = OpLoad %float %14 + %16 = OpFNegate %float %15 + OpStore %14 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_float.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_neg_float.spvasm64 new file mode 100644 index 00000000..d3b6ce2c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_float.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_neg_float" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %16 + %18 = OpLoad %float %17 + %19 = OpFNegate %float %18 + OpStore %17 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_float4.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_neg_float4.spvasm32 new file mode 100644 index 00000000..8752e74c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_float4.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_neg_float4" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %12 = OpLabel + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %in %14 + %16 = OpLoad %v4float %15 + %17 = OpFNegate %v4float %16 + OpStore %15 %17 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_float4.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_neg_float4.spvasm64 new file mode 100644 index 00000000..69095173 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_float4.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_neg_float4" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %in %17 + %19 = OpLoad %v4float %18 + %20 = OpFNegate %v4float %19 + OpStore %18 %20 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_neg_int.spvasm32 new file mode 100644 index 00000000..ed59bd72 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_int.spvasm32 @@ -0,0 +1,33 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_neg_int" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %10 = OpLabel + %11 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %12 = OpCompositeExtract %uint %11 0 + %13 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %12 + %14 = OpLoad %uint %13 + %15 = OpSNegate %uint %14 + OpStore %13 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_neg_int.spvasm64 new file mode 100644 index 00000000..241871bd --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_int.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_neg_int" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %16 + %18 = OpLoad %uint %17 + %19 = OpSNegate %uint %18 + OpStore %17 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_int4.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_neg_int4.spvasm32 new file mode 100644 index 00000000..0e111b0d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_int4.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_neg_int4" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %13 + %15 = OpLoad %v4uint %14 + %16 = OpSNegate %v4uint %15 + OpStore %14 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_int4.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_neg_int4.spvasm64 new file mode 100644 index 00000000..e1782d69 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_int4.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_neg_int4" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %17 + %19 = OpLoad %v4uint %18 + %20 = OpSNegate %v4uint %19 + OpStore %18 %20 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_long.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_neg_long.spvasm32 new file mode 100644 index 00000000..c513fd3b --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_long.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_neg_long" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %13 + %15 = OpLoad %ulong %14 + %16 = OpSNegate %ulong %15 + OpStore %14 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_long.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_neg_long.spvasm64 new file mode 100644 index 00000000..edee5125 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_long.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_neg_long" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %11 = OpLabel + %12 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %ulong %12 0 + %14 = OpShiftLeftLogical %ulong %13 %ulong_32 + %15 = OpShiftRightArithmetic %ulong %14 %ulong_32 + %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %15 + %17 = OpLoad %ulong %16 + %18 = OpSNegate %ulong %17 + OpStore %16 %18 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_short.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_neg_short.spvasm32 new file mode 100644 index 00000000..8e59eef2 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_short.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_neg_short" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %13 + %15 = OpLoad %ushort %14 + %16 = OpSNegate %ushort %15 + OpStore %14 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_neg_short.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_neg_short.spvasm64 new file mode 100644 index 00000000..ca75370e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_neg_short.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_neg_short" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %16 + %18 = OpLoad %ushort %17 + %19 = OpSNegate %ushort %18 + OpStore %17 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_not_int.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_not_int.spvasm32 new file mode 100644 index 00000000..ef8f7b02 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_not_int.spvasm32 @@ -0,0 +1,33 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_not_int" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %10 = OpLabel + %11 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %12 = OpCompositeExtract %uint %11 0 + %13 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %12 + %14 = OpLoad %uint %13 + %15 = OpNot %uint %14 + OpStore %13 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_not_int.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_not_int.spvasm64 new file mode 100644 index 00000000..f796379a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_not_int.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_not_int" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %16 + %18 = OpLoad %uint %17 + %19 = OpNot %uint %18 + OpStore %17 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_not_int4.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_not_int4.spvasm32 new file mode 100644 index 00000000..07b900bd --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_not_int4.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_not_int4" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %13 + %15 = OpLoad %v4uint %14 + %16 = OpNot %v4uint %15 + OpStore %14 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_not_int4.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_not_int4.spvasm64 new file mode 100644 index 00000000..7eba008e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_not_int4.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_not_int4" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %17 + %19 = OpLoad %v4uint %18 + %20 = OpNot %v4uint %19 + OpStore %18 %20 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_not_long.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_not_long.spvasm32 new file mode 100644 index 00000000..f88819d2 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_not_long.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_not_long" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %13 + %15 = OpLoad %ulong %14 + %16 = OpNot %ulong %15 + OpStore %14 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_not_long.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_not_long.spvasm64 new file mode 100644 index 00000000..41dcc9f5 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_not_long.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_not_long" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %11 = OpLabel + %12 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %ulong %12 0 + %14 = OpShiftLeftLogical %ulong %13 %ulong_32 + %15 = OpShiftRightArithmetic %ulong %14 %ulong_32 + %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %15 + %17 = OpLoad %ulong %16 + %18 = OpNot %ulong %17 + OpStore %16 %18 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_not_short.spvasm32 b/test_conformance/spirv_new/spirv_asm/op_not_short.spvasm32 new file mode 100644 index 00000000..3718b913 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_not_short.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "op_not_short" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %13 + %15 = OpLoad %ushort %14 + %16 = OpNot %ushort %15 + OpStore %14 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/op_not_short.spvasm64 b/test_conformance/spirv_new/spirv_asm/op_not_short.spvasm64 new file mode 100644 index 00000000..0d371c3a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/op_not_short.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "op_not_short" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %12 = OpLabel + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %16 + %18 = OpLoad %ushort %17 + %19 = OpNot %ushort %18 + OpStore %17 %19 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/opaque.spvasm32 b/test_conformance/spirv_new/spirv_asm/opaque.spvasm32 new file mode 100644 index 00000000..ef133c10 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/opaque.spvasm32 @@ -0,0 +1,40 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "opaque" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %4 LinkageAttributes "opaque_store" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%Opaque_opaque_t = OpTypeOpaque "opaque_t" +%_ptr_CrossWorkgroup_Opaque_opaque_t = OpTypePointer CrossWorkgroup %Opaque_opaque_t +%float_3_14159274 = OpConstant %float 3.14159274 + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_Opaque_opaque_t +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_Opaque_opaque_t %uint %float + %4 = OpFunction %void None %14 + %15 = OpFunctionParameter %_ptr_CrossWorkgroup_Opaque_opaque_t + %16 = OpFunctionParameter %uint + %17 = OpFunctionParameter %float + OpFunctionEnd + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_Opaque_opaque_t + %18 = OpLabel + %19 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %20 = OpCompositeExtract %uint %19 0 + %21 = OpFunctionCall %void %4 %in %20 %float_3_14159274 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/opaque.spvasm64 b/test_conformance/spirv_new/spirv_asm/opaque.spvasm64 new file mode 100644 index 00000000..50ef5a62 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/opaque.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "opaque" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpDecorate %4 LinkageAttributes "opaque_store" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %ulong_32 = OpConstant %ulong 32 +%float_3_14159274 = OpConstant %float 3.14159274 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant +%Opaque_opaque_t = OpTypeOpaque "opaque_t" +%_ptr_CrossWorkgroup_Opaque_opaque_t = OpTypePointer CrossWorkgroup %Opaque_opaque_t + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_Opaque_opaque_t + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_Opaque_opaque_t %ulong %float + %4 = OpFunction %void None %15 + %16 = OpFunctionParameter %_ptr_CrossWorkgroup_Opaque_opaque_t + %17 = OpFunctionParameter %ulong + %18 = OpFunctionParameter %float + OpFunctionEnd + %1 = OpFunction %void None %14 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_Opaque_opaque_t + %19 = OpLabel + %20 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %21 = OpCompositeExtract %ulong %20 0 + %22 = OpShiftLeftLogical %ulong %21 %ulong_32 + %23 = OpShiftRightArithmetic %ulong %22 %ulong_32 + %24 = OpFunctionCall %void %4 %in %23 %float_3_14159274 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/phi_2.spvasm32 b/test_conformance/spirv_new/spirv_asm/phi_2.spvasm32 new file mode 100644 index 00000000..adcfac77 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/phi_2.spvasm32 @@ -0,0 +1,52 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 29 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "phi_2" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %14 = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %16 + %18 = OpLoad %uint %17 Aligned 4 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %16 + %20 = OpLoad %uint %19 Aligned 4 + %21 = OpSLessThan %bool %18 %20 + OpBranchConditional %21 %22 %23 + %22 = OpLabel + %24 = OpISub %uint %20 %18 + OpBranch %25 + %23 = OpLabel + %26 = OpISub %uint %18 %20 + OpBranch %25 + %25 = OpLabel + %27 = OpPhi %uint %24 %22 %26 %23 + %28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %16 + OpStore %28 %27 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/phi_2.spvasm64 b/test_conformance/spirv_new/spirv_asm/phi_2.spvasm64 new file mode 100644 index 00000000..86ef7c37 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/phi_2.spvasm64 @@ -0,0 +1,57 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 33 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "phi_2" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %20 + %22 = OpLoad %uint %21 Aligned 4 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %20 + %24 = OpLoad %uint %23 Aligned 4 + %25 = OpSLessThan %bool %22 %24 + OpBranchConditional %25 %26 %27 + %26 = OpLabel + %28 = OpISub %uint %24 %22 + OpBranch %29 + %27 = OpLabel + %30 = OpISub %uint %22 %24 + OpBranch %29 + %29 = OpLabel + %31 = OpPhi %uint %28 %26 %30 %27 + %32 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %20 + OpStore %32 %31 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/phi_3.spvasm32 b/test_conformance/spirv_new/spirv_asm/phi_3.spvasm32 new file mode 100644 index 00000000..61ce6086 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/phi_3.spvasm32 @@ -0,0 +1,59 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 34 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "phi_3" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %17 + %19 = OpLoad %uint %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %17 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpSLessThan %bool %19 %21 + OpBranchConditional %22 %23 %24 + %23 = OpLabel + %25 = OpSLessThan %bool %19 %uint_0 + OpBranchConditional %25 %26 %27 + %26 = OpLabel + %28 = OpISub %uint %uint_0 %19 + OpBranch %29 + %27 = OpLabel + %30 = OpISub %uint %19 %uint_0 + OpBranch %29 + %24 = OpLabel + %31 = OpISub %uint %19 %21 + OpBranch %29 + %29 = OpLabel + %32 = OpPhi %uint %28 %26 %30 %27 %31 %24 + %33 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %17 + OpStore %33 %32 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/phi_3.spvasm64 b/test_conformance/spirv_new/spirv_asm/phi_3.spvasm64 new file mode 100644 index 00000000..4029dd6c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/phi_3.spvasm64 @@ -0,0 +1,64 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 38 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "phi_3" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 + %ulong_32 = OpConstant %ulong 32 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %21 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpSLessThan %bool %23 %25 + OpBranchConditional %26 %27 %28 + %27 = OpLabel + %29 = OpSLessThan %bool %23 %uint_0 + OpBranchConditional %29 %30 %31 + %30 = OpLabel + %32 = OpISub %uint %uint_0 %23 + OpBranch %33 + %31 = OpLabel + %34 = OpISub %uint %23 %uint_0 + OpBranch %33 + %28 = OpLabel + %35 = OpISub %uint %23 %25 + OpBranch %33 + %33 = OpLabel + %36 = OpPhi %uint %32 %30 %34 %31 %35 %28 + %37 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %21 + OpStore %37 %36 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/phi_4.spvasm32 b/test_conformance/spirv_new/spirv_asm/phi_4.spvasm32 new file mode 100644 index 00000000..3ed68086 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/phi_4.spvasm32 @@ -0,0 +1,65 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 38 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "phi_4" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %14 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %17 + %19 = OpLoad %uint %18 Aligned 4 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %17 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpSLessThan %bool %19 %21 + OpBranchConditional %22 %23 %24 + %23 = OpLabel + %25 = OpSLessThan %bool %19 %uint_0 + OpBranchConditional %25 %26 %27 + %26 = OpLabel + %28 = OpISub %uint %uint_0 %19 + OpBranch %29 + %27 = OpLabel + %30 = OpISub %uint %19 %uint_0 + OpBranch %29 + %24 = OpLabel + %31 = OpSLessThan %bool %21 %uint_0 + OpBranchConditional %31 %32 %33 + %32 = OpLabel + %34 = OpISub %uint %uint_0 %21 + OpBranch %29 + %33 = OpLabel + %35 = OpISub %uint %21 %uint_0 + OpBranch %29 + %29 = OpLabel + %36 = OpPhi %uint %28 %26 %30 %27 %34 %32 %35 %33 + %37 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %17 + OpStore %37 %36 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/phi_4.spvasm64 b/test_conformance/spirv_new/spirv_asm/phi_4.spvasm64 new file mode 100644 index 00000000..ab07cad3 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/phi_4.spvasm64 @@ -0,0 +1,70 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 42 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "phi_4" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %21 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpSLessThan %bool %23 %25 + OpBranchConditional %26 %27 %28 + %27 = OpLabel + %29 = OpSLessThan %bool %23 %uint_0 + OpBranchConditional %29 %30 %31 + %30 = OpLabel + %32 = OpISub %uint %uint_0 %23 + OpBranch %33 + %31 = OpLabel + %34 = OpISub %uint %23 %uint_0 + OpBranch %33 + %28 = OpLabel + %35 = OpSLessThan %bool %25 %uint_0 + OpBranchConditional %35 %36 %37 + %36 = OpLabel + %38 = OpISub %uint %uint_0 %25 + OpBranch %33 + %37 = OpLabel + %39 = OpISub %uint %25 %uint_0 + OpBranch %33 + %33 = OpLabel + %40 = OpPhi %uint %32 %30 %34 %31 %38 %36 %39 %37 + %41 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %21 + OpStore %41 %40 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_if_dont_flatten.spvasm32 b/test_conformance/spirv_new/spirv_asm/select_if_dont_flatten.spvasm32 new file mode 100644 index 00000000..d3baef2a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_if_dont_flatten.spvasm32 @@ -0,0 +1,58 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 32 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "select_if_dont_flatten" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpVariable %_ptr_Function_uint Function + %18 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %uint %18 0 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpSLessThan %bool %21 %23 + OpSelectionMerge %25 DontFlatten + OpBranchConditional %24 %26 %27 + %26 = OpLabel + %28 = OpISub %uint %23 %21 + OpStore %17 %28 + OpBranch %25 + %27 = OpLabel + %29 = OpISub %uint %21 %23 + OpStore %17 %29 + OpBranch %25 + %25 = OpLabel + %30 = OpLoad %uint %17 + %31 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %31 %30 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_if_dont_flatten.spvasm64 b/test_conformance/spirv_new/spirv_asm/select_if_dont_flatten.spvasm64 new file mode 100644 index 00000000..5dd2d991 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_if_dont_flatten.spvasm64 @@ -0,0 +1,64 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 36 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "select_if_dont_flatten" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %21 = OpCompositeExtract %ulong %20 0 + %22 = OpShiftLeftLogical %ulong %21 %ulong_32 + %23 = OpShiftRightArithmetic %ulong %22 %ulong_32 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %27 = OpLoad %uint %26 Aligned 4 + OpStore %19 %uint_0 + %28 = OpSLessThan %bool %25 %27 + OpSelectionMerge %29 DontFlatten + OpBranchConditional %28 %30 %31 + %30 = OpLabel + %32 = OpISub %uint %27 %25 + OpStore %19 %32 + OpBranch %29 + %31 = OpLabel + %33 = OpISub %uint %25 %27 + OpStore %19 %33 + OpBranch %29 + %29 = OpLabel + %34 = OpLoad %uint %19 + %35 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23 + OpStore %35 %34 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_if_flatten.spvasm32 b/test_conformance/spirv_new/spirv_asm/select_if_flatten.spvasm32 new file mode 100644 index 00000000..3e9fa20a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_if_flatten.spvasm32 @@ -0,0 +1,58 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 32 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "select_if_flatten" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpVariable %_ptr_Function_uint Function + %18 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %uint %18 0 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpSLessThan %bool %21 %23 + OpSelectionMerge %25 Flatten + OpBranchConditional %24 %26 %27 + %26 = OpLabel + %28 = OpISub %uint %23 %21 + OpStore %17 %28 + OpBranch %25 + %27 = OpLabel + %29 = OpISub %uint %21 %23 + OpStore %17 %29 + OpBranch %25 + %25 = OpLabel + %30 = OpLoad %uint %17 + %31 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %31 %30 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_if_flatten.spvasm64 b/test_conformance/spirv_new/spirv_asm/select_if_flatten.spvasm64 new file mode 100644 index 00000000..f246ece9 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_if_flatten.spvasm64 @@ -0,0 +1,64 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 36 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "select_if_flatten" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %21 = OpCompositeExtract %ulong %20 0 + %22 = OpShiftLeftLogical %ulong %21 %ulong_32 + %23 = OpShiftRightArithmetic %ulong %22 %ulong_32 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %27 = OpLoad %uint %26 Aligned 4 + OpStore %19 %uint_0 + %28 = OpSLessThan %bool %25 %27 + OpSelectionMerge %29 Flatten + OpBranchConditional %28 %30 %31 + %30 = OpLabel + %32 = OpISub %uint %27 %25 + OpStore %19 %32 + OpBranch %29 + %31 = OpLabel + %33 = OpISub %uint %25 %27 + OpStore %19 %33 + OpBranch %29 + %29 = OpLabel + %34 = OpLoad %uint %19 + %35 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23 + OpStore %35 %34 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_if_none.spvasm32 b/test_conformance/spirv_new/spirv_asm/select_if_none.spvasm32 new file mode 100644 index 00000000..1aca937e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_if_none.spvasm32 @@ -0,0 +1,58 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 32 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "select_if_none" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %16 = OpLabel + %17 = OpVariable %_ptr_Function_uint Function + %18 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %uint %18 0 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %19 + %21 = OpLoad %uint %20 Aligned 4 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %19 + %23 = OpLoad %uint %22 Aligned 4 + %24 = OpSLessThan %bool %21 %23 + OpSelectionMerge %25 None + OpBranchConditional %24 %26 %27 + %26 = OpLabel + %28 = OpISub %uint %23 %21 + OpStore %17 %28 + OpBranch %25 + %27 = OpLabel + %29 = OpISub %uint %21 %23 + OpStore %17 %29 + OpBranch %25 + %25 = OpLabel + %30 = OpLoad %uint %17 + %31 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %19 + OpStore %31 %30 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_if_none.spvasm64 b/test_conformance/spirv_new/spirv_asm/select_if_none.spvasm64 new file mode 100644 index 00000000..47526e90 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_if_none.spvasm64 @@ -0,0 +1,64 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 36 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "select_if_none" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %uint_0 = OpConstant %uint 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %17 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %17 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %18 = OpLabel + %19 = OpVariable %_ptr_Function_uint Function + %20 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %21 = OpCompositeExtract %ulong %20 0 + %22 = OpShiftLeftLogical %ulong %21 %ulong_32 + %23 = OpShiftRightArithmetic %ulong %22 %ulong_32 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %27 = OpLoad %uint %26 Aligned 4 + OpStore %19 %uint_0 + %28 = OpSLessThan %bool %25 %27 + OpSelectionMerge %29 None + OpBranchConditional %28 %30 %31 + %30 = OpLabel + %32 = OpISub %uint %27 %25 + OpStore %19 %32 + OpBranch %29 + %31 = OpLabel + %33 = OpISub %uint %25 %27 + OpStore %19 %33 + OpBranch %29 + %29 = OpLabel + %34 = OpLoad %uint %19 + %35 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23 + OpStore %35 %34 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_switch_dont_flatten.spvasm32 b/test_conformance/spirv_new/spirv_asm/select_switch_dont_flatten.spvasm32 new file mode 100644 index 00000000..b1b6e04f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_switch_dont_flatten.spvasm32 @@ -0,0 +1,67 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 37 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "select_switch_dont_flatten" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 + %uint_4 = OpConstant %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %19 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %19 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %20 = OpLabel + %21 = OpVariable %_ptr_Function_uint Function + %22 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %23 = OpCompositeExtract %uint %22 0 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %27 = OpLoad %uint %26 Aligned 4 + %28 = OpIAdd %uint %25 %27 + %29 = OpUMod %uint %28 %uint_4 + OpSelectionMerge %30 DontFlatten + OpSwitch %29 %31 1 %32 2 %33 3 %34 + %32 = OpLabel + OpStore %21 %uint_1 + OpBranch %30 + %33 = OpLabel + OpStore %21 %uint_2 + OpBranch %30 + %34 = OpLabel + OpStore %21 %uint_3 + OpBranch %30 + %31 = OpLabel + OpStore %21 %uint_0 + OpBranch %30 + %30 = OpLabel + %35 = OpLoad %uint %21 + %36 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23 + OpStore %36 %35 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_switch_dont_flatten.spvasm64 b/test_conformance/spirv_new/spirv_asm/select_switch_dont_flatten.spvasm64 new file mode 100644 index 00000000..47b97b9a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_switch_dont_flatten.spvasm64 @@ -0,0 +1,73 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 41 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "select_switch_dont_flatten" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 + %uint_4 = OpConstant %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %21 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %21 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %22 = OpLabel + %23 = OpVariable %_ptr_Function_uint Function + %24 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %25 = OpCompositeExtract %ulong %24 0 + %26 = OpShiftLeftLogical %ulong %25 %ulong_32 + %27 = OpShiftRightArithmetic %ulong %26 %ulong_32 + %28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %27 + %29 = OpLoad %uint %28 Aligned 4 + %30 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %27 + %31 = OpLoad %uint %30 Aligned 4 + OpStore %23 %uint_0 + %32 = OpIAdd %uint %29 %31 + %33 = OpUMod %uint %32 %uint_4 + OpSelectionMerge %34 DontFlatten + OpSwitch %33 %35 1 %36 2 %37 3 %38 + %36 = OpLabel + OpStore %23 %uint_1 + OpBranch %34 + %37 = OpLabel + OpStore %23 %uint_2 + OpBranch %34 + %38 = OpLabel + OpStore %23 %uint_3 + OpBranch %34 + %35 = OpLabel + OpStore %23 %uint_0 + OpBranch %34 + %34 = OpLabel + %39 = OpLoad %uint %23 + %40 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %27 + OpStore %40 %39 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_switch_flatten.spvasm32 b/test_conformance/spirv_new/spirv_asm/select_switch_flatten.spvasm32 new file mode 100644 index 00000000..36841628 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_switch_flatten.spvasm32 @@ -0,0 +1,67 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 37 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "select_switch_flatten" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 + %uint_4 = OpConstant %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %19 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %19 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %20 = OpLabel + %21 = OpVariable %_ptr_Function_uint Function + %22 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %23 = OpCompositeExtract %uint %22 0 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %27 = OpLoad %uint %26 Aligned 4 + %28 = OpIAdd %uint %25 %27 + %29 = OpUMod %uint %28 %uint_4 + OpSelectionMerge %30 Flatten + OpSwitch %29 %31 1 %32 2 %33 3 %34 + %32 = OpLabel + OpStore %21 %uint_1 + OpBranch %30 + %33 = OpLabel + OpStore %21 %uint_2 + OpBranch %30 + %34 = OpLabel + OpStore %21 %uint_3 + OpBranch %30 + %31 = OpLabel + OpStore %21 %uint_0 + OpBranch %30 + %30 = OpLabel + %35 = OpLoad %uint %21 + %36 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23 + OpStore %36 %35 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_switch_flatten.spvasm64 b/test_conformance/spirv_new/spirv_asm/select_switch_flatten.spvasm64 new file mode 100644 index 00000000..1cbfc284 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_switch_flatten.spvasm64 @@ -0,0 +1,73 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 41 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "select_switch_flatten" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 + %uint_4 = OpConstant %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %21 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %21 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %22 = OpLabel + %23 = OpVariable %_ptr_Function_uint Function + %24 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %25 = OpCompositeExtract %ulong %24 0 + %26 = OpShiftLeftLogical %ulong %25 %ulong_32 + %27 = OpShiftRightArithmetic %ulong %26 %ulong_32 + %28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %27 + %29 = OpLoad %uint %28 Aligned 4 + %30 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %27 + %31 = OpLoad %uint %30 Aligned 4 + OpStore %23 %uint_0 + %32 = OpIAdd %uint %29 %31 + %33 = OpUMod %uint %32 %uint_4 + OpSelectionMerge %34 Flatten + OpSwitch %33 %35 1 %36 2 %37 3 %38 + %36 = OpLabel + OpStore %23 %uint_1 + OpBranch %34 + %37 = OpLabel + OpStore %23 %uint_2 + OpBranch %34 + %38 = OpLabel + OpStore %23 %uint_3 + OpBranch %34 + %35 = OpLabel + OpStore %23 %uint_0 + OpBranch %34 + %34 = OpLabel + %39 = OpLoad %uint %23 + %40 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %27 + OpStore %40 %39 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_switch_none.spvasm32 b/test_conformance/spirv_new/spirv_asm/select_switch_none.spvasm32 new file mode 100644 index 00000000..899d64ee --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_switch_none.spvasm32 @@ -0,0 +1,67 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 37 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "select_switch_none" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %bool = OpTypeBool + %void = OpTypeVoid + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 + %uint_4 = OpConstant %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %19 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %19 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %20 = OpLabel + %21 = OpVariable %_ptr_Function_uint Function + %22 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %23 = OpCompositeExtract %uint %22 0 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %23 + %25 = OpLoad %uint %24 Aligned 4 + %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %23 + %27 = OpLoad %uint %26 Aligned 4 + %28 = OpIAdd %uint %25 %27 + %29 = OpUMod %uint %28 %uint_4 + OpSelectionMerge %30 None + OpSwitch %29 %31 1 %32 2 %33 3 %34 + %32 = OpLabel + OpStore %21 %uint_1 + OpBranch %30 + %33 = OpLabel + OpStore %21 %uint_2 + OpBranch %30 + %34 = OpLabel + OpStore %21 %uint_3 + OpBranch %30 + %31 = OpLabel + OpStore %21 %uint_0 + OpBranch %30 + %30 = OpLabel + %35 = OpLoad %uint %21 + %36 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %23 + OpStore %36 %35 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/select_switch_none.spvasm64 b/test_conformance/spirv_new/spirv_asm/select_switch_none.spvasm64 new file mode 100644 index 00000000..c9055954 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/select_switch_none.spvasm64 @@ -0,0 +1,73 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 41 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "select_switch_none" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %bool = OpTypeBool + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %ulong_32 = OpConstant %ulong 32 + %uint_0 = OpConstant %uint 0 + %uint_1 = OpConstant %uint 1 + %uint_2 = OpConstant %uint 2 + %uint_3 = OpConstant %uint 3 + %uint_4 = OpConstant %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_Function_uint = OpTypePointer Function %uint + %21 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %21 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %22 = OpLabel + %23 = OpVariable %_ptr_Function_uint Function + %24 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %25 = OpCompositeExtract %ulong %24 0 + %26 = OpShiftLeftLogical %ulong %25 %ulong_32 + %27 = OpShiftRightArithmetic %ulong %26 %ulong_32 + %28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %27 + %29 = OpLoad %uint %28 Aligned 4 + %30 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %27 + %31 = OpLoad %uint %30 Aligned 4 + OpStore %23 %uint_0 + %32 = OpIAdd %uint %29 %31 + %33 = OpUMod %uint %32 %uint_4 + OpSelectionMerge %34 None + OpSwitch %33 %35 1 %36 2 %37 3 %38 + %36 = OpLabel + OpStore %23 %uint_1 + OpBranch %34 + %37 = OpLabel + OpStore %23 %uint_2 + OpBranch %34 + %38 = OpLabel + OpStore %23 %uint_3 + OpBranch %34 + %35 = OpLabel + OpStore %23 %uint_0 + OpBranch %34 + %34 = OpLabel + %39 = OpLoad %uint %23 + %40 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %res %27 + OpStore %40 %39 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_char_simple.spvasm32 new file mode 100644 index 00000000..fb4c78b1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_char_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %11 = OpLabel + %12 = OpUndef %uchar + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14 + OpStore %15 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_char_simple.spvasm64 new file mode 100644 index 00000000..65d657ec --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_char_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %12 = OpLabel + %13 = OpUndef %uchar + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17 + OpStore %18 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_double_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_double_simple.spvasm32 new file mode 100644 index 00000000..ed4a47d1 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_double_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_double_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %11 = OpLabel + %12 = OpUndef %double + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %14 + OpStore %15 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_double_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_double_simple.spvasm64 new file mode 100644 index 00000000..6ae714de --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_double_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_double_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_double + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %12 = OpLabel + %13 = OpUndef %double + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17 + OpStore %18 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_false_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_false_simple.spvasm32 new file mode 100644 index 00000000..d80afe18 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_false_simple.spvasm32 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_false_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %bool = OpTypeBool +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %uint_1 = OpConstant %uint 1 + %uint_0 = OpConstant %uint 0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpUndef %bool + %15 = OpSelect %uint %14 %uint_1 %uint_0 + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + OpStore %18 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_false_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_false_simple.spvasm64 new file mode 100644 index 00000000..99fc3f65 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_false_simple.spvasm64 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_false_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %bool = OpTypeBool +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 + %uint_1 = OpConstant %uint 1 + %uint_0 = OpConstant %uint 0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %15 = OpLabel + %16 = OpUndef %bool + %17 = OpSelect %uint %16 %uint_1 %uint_0 + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %21 + OpStore %22 %17 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_float_simple.spvasm32 new file mode 100644 index 00000000..5b20017d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_float_simple.spvasm32 @@ -0,0 +1,33 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %11 = OpLabel + %12 = OpUndef %float + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %14 + OpStore %15 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_float_simple.spvasm64 new file mode 100644 index 00000000..ec56354b --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_float_simple.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %12 = OpLabel + %13 = OpUndef %float + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %17 + OpStore %18 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_half_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_half_simple.spvasm32 new file mode 100644 index 00000000..acebc88f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_half_simple.spvasm32 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_half_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %12 = OpLabel + %13 = OpUndef %half + %14 = OpFConvert %float %13 + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %16 + OpStore %17 %14 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_half_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_half_simple.spvasm64 new file mode 100644 index 00000000..5f7ffd39 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_half_simple.spvasm64 @@ -0,0 +1,40 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_half_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %float = OpTypeFloat 32 + %half = OpTypeFloat 16 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_float + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %13 = OpLabel + %14 = OpUndef %half + %15 = OpFConvert %float %14 + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %19 + OpStore %20 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_int3_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_int3_simple.spvasm32 new file mode 100644 index 00000000..6247618c --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_int3_simple.spvasm32 @@ -0,0 +1,32 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 15 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_int3_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint + %10 = OpLabel + %11 = OpUndef %v3uint + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %13 + OpStore %14 %11 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_int3_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_int3_simple.spvasm64 new file mode 100644 index 00000000..73b543df --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_int3_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_int3_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_CrossWorkgroup_v3uint = OpTypePointer CrossWorkgroup %v3uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v3uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v3uint + %13 = OpLabel + %14 = OpUndef %v3uint + %15 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %ulong %15 0 + %17 = OpShiftLeftLogical %ulong %16 %ulong_32 + %18 = OpShiftRightArithmetic %ulong %17 %ulong_32 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v3uint %in %18 + OpStore %19 %14 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_int4_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_int4_simple.spvasm32 new file mode 100644 index 00000000..75f83b51 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_int4_simple.spvasm32 @@ -0,0 +1,33 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_int4_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %11 = OpLabel + %12 = OpUndef %v4uint + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %14 + OpStore %15 %12 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_int4_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_int4_simple.spvasm64 new file mode 100644 index 00000000..6d0f9403 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_int4_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 20 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_int4_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %13 = OpLabel + %14 = OpUndef %v4uint + %15 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %ulong %15 0 + %17 = OpShiftLeftLogical %ulong %16 %ulong_32 + %18 = OpShiftRightArithmetic %ulong %17 %ulong_32 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %18 + OpStore %19 %14 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_int_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_int_simple.spvasm32 new file mode 100644 index 00000000..f9382c39 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_int_simple.spvasm32 @@ -0,0 +1,32 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 15 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_int_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %10 = OpLabel + %11 = OpUndef %uint + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13 + OpStore %14 %11 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_int_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_int_simple.spvasm64 new file mode 100644 index 00000000..7d6f8ba4 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_int_simple.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_int_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %12 = OpLabel + %13 = OpUndef %uint + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + OpStore %18 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_long_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_long_simple.spvasm32 new file mode 100644 index 00000000..b05e3228 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_long_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_long_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %11 = OpLabel + %12 = OpUndef %ulong + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14 + OpStore %15 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_long_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_long_simple.spvasm64 new file mode 100644 index 00000000..e67626df --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_long_simple.spvasm64 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_long_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %11 = OpLabel + %12 = OpUndef %ulong + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16 + OpStore %17 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_short_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_short_simple.spvasm32 new file mode 100644 index 00000000..c4fb0916 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_short_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_short_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %11 = OpLabel + %12 = OpUndef %ushort + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14 + OpStore %15 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_short_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_short_simple.spvasm64 new file mode 100644 index 00000000..9078c851 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_short_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_short_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %12 = OpLabel + %13 = OpUndef %ushort + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17 + OpStore %18 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_struct_int_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_struct_int_char_simple.spvasm32 new file mode 100644 index 00000000..a9527fa8 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_struct_int_char_simple.spvasm32 @@ -0,0 +1,35 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Kernel + OpCapability Linkage + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_struct_int_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 + %_struct_9 = OpTypeStruct %uint %uchar +%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9 + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9 + %12 = OpLabel + %13 = OpUndef %_struct_9 + %14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %uint %14 0 + %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %15 + OpStore %16 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_struct_int_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_struct_int_char_simple.spvasm64 new file mode 100644 index 00000000..19185c38 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_struct_int_char_simple.spvasm64 @@ -0,0 +1,40 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_struct_int_char_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %uchar = OpTypeInt 8 0 + %_struct_10 = OpTypeStruct %uint %uchar +%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10 + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10 + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10 + %14 = OpLabel + %15 = OpUndef %_struct_10 + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %19 + OpStore %20 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_struct_int_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_struct_int_float_simple.spvasm32 new file mode 100644 index 00000000..69750ca9 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_struct_int_float_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 17 +; Schema: 0 + OpCapability Addresses + OpCapability Kernel + OpCapability Linkage + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_struct_int_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %_struct_9 = OpTypeStruct %uint %float +%_ptr_CrossWorkgroup__struct_9 = OpTypePointer CrossWorkgroup %_struct_9 + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_9 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_9 + %12 = OpLabel + %13 = OpUndef %_struct_9 + %14 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %uint %14 0 + %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_9 %in %15 + OpStore %16 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_struct_int_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_struct_int_float_simple.spvasm64 new file mode 100644 index 00000000..b748de84 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_struct_int_float_simple.spvasm64 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_struct_int_float_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %float = OpTypeFloat 32 + %_struct_10 = OpTypeStruct %uint %float +%_ptr_CrossWorkgroup__struct_10 = OpTypePointer CrossWorkgroup %_struct_10 + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_10 + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_10 + %14 = OpLabel + %15 = OpUndef %_struct_10 + %16 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %ulong %16 0 + %18 = OpShiftLeftLogical %ulong %17 %ulong_32 + %19 = OpShiftRightArithmetic %ulong %18 %ulong_32 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_10 %in %19 + OpStore %20 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_struct_struct_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_struct_struct_simple.spvasm32 new file mode 100644 index 00000000..e2812a6d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_struct_struct_simple.spvasm32 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Kernel + OpCapability Linkage + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_struct_struct_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v2uint = OpTypeVector %uint 2 + %uchar = OpTypeInt 8 0 + %_struct_10 = OpTypeStruct %uint %uchar + %_struct_11 = OpTypeStruct %v2uint %_struct_10 +%_ptr_CrossWorkgroup__struct_11 = OpTypePointer CrossWorkgroup %_struct_11 + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_11 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_11 + %14 = OpLabel + %15 = OpUndef %_struct_11 + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_11 %in %17 + OpStore %18 %15 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_struct_struct_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_struct_struct_simple.spvasm64 new file mode 100644 index 00000000..35d05d0d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_struct_struct_simple.spvasm64 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_struct_struct_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %v2uint = OpTypeVector %uint 2 + %uchar = OpTypeInt 8 0 + %_struct_11 = OpTypeStruct %uint %uchar + %_struct_12 = OpTypeStruct %v2uint %_struct_11 +%_ptr_CrossWorkgroup__struct_12 = OpTypePointer CrossWorkgroup %_struct_12 + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup__struct_12 + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %in = OpFunctionParameter %_ptr_CrossWorkgroup__struct_12 + %16 = OpLabel + %17 = OpUndef %_struct_12 + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup__struct_12 %in %21 + OpStore %22 %17 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_true_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_true_simple.spvasm32 new file mode 100644 index 00000000..5b356cd3 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_true_simple.spvasm32 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_true_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %bool = OpTypeBool +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %uint_1 = OpConstant %uint 1 + %uint_0 = OpConstant %uint 0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpUndef %bool + %15 = OpSelect %uint %14 %uint_1 %uint_0 + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + OpStore %18 %15 Aligned 4 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_true_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_true_simple.spvasm64 new file mode 100644 index 00000000..9bf35d78 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_true_simple.spvasm64 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_true_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 + %bool = OpTypeBool +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %11 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 + %uint_1 = OpConstant %uint 1 + %uint_0 = OpConstant %uint 0 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %11 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %15 = OpLabel + %16 = OpUndef %bool + %17 = OpSelect %uint %16 %uint_1 %uint_0 + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %21 + OpStore %22 %17 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_uchar_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_uchar_simple.spvasm32 new file mode 100644 index 00000000..868ccfc6 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_uchar_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_uchar_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %11 = OpLabel + %12 = OpUndef %uchar + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %14 + OpStore %15 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_uchar_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_uchar_simple.spvasm64 new file mode 100644 index 00000000..4060237a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_uchar_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_uchar_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %12 = OpLabel + %13 = OpUndef %uchar + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17 + OpStore %18 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_uint_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_uint_simple.spvasm32 new file mode 100644 index 00000000..e281b55d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_uint_simple.spvasm32 @@ -0,0 +1,32 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 15 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_uint_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %10 = OpLabel + %11 = OpUndef %uint + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13 + OpStore %14 %11 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_uint_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_uint_simple.spvasm64 new file mode 100644 index 00000000..11934289 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_uint_simple.spvasm64 @@ -0,0 +1,37 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_uint_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %12 = OpLabel + %13 = OpUndef %uint + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + OpStore %18 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_ulong_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_ulong_simple.spvasm32 new file mode 100644 index 00000000..8e79a652 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_ulong_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_ulong_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %11 = OpLabel + %12 = OpUndef %ulong + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %14 + OpStore %15 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_ulong_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_ulong_simple.spvasm64 new file mode 100644 index 00000000..bc595e4b --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_ulong_simple.spvasm64 @@ -0,0 +1,36 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 18 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_ulong_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %11 = OpLabel + %12 = OpUndef %ulong + %13 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %ulong %13 0 + %15 = OpShiftLeftLogical %ulong %14 %ulong_32 + %16 = OpShiftRightArithmetic %ulong %15 %ulong_32 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %16 + OpStore %17 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_ushort_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/undef_ushort_simple.spvasm32 new file mode 100644 index 00000000..5425638a --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_ushort_simple.spvasm32 @@ -0,0 +1,34 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 16 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "undef_ushort_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %11 = OpLabel + %12 = OpUndef %ushort + %13 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %14 = OpCompositeExtract %uint %13 0 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %14 + OpStore %15 %12 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/undef_ushort_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/undef_ushort_simple.spvasm64 new file mode 100644 index 00000000..0dff1ddb --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/undef_ushort_simple.spvasm64 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "undef_ushort_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %void = OpTypeVoid + %ushort = OpTypeInt 16 0 +%_ptr_CrossWorkgroup_ushort = OpTypePointer CrossWorkgroup %ushort + %10 = OpTypeFunction %void %_ptr_CrossWorkgroup_ushort + %ulong_32 = OpConstant %ulong 32 +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %10 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ushort + %12 = OpLabel + %13 = OpUndef %ushort + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ushort %in %17 + OpStore %18 %13 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/unreachable_simple.spvasm32 b/test_conformance/spirv_new/spirv_asm/unreachable_simple.spvasm32 new file mode 100644 index 00000000..1c40b60b --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/unreachable_simple.spvasm32 @@ -0,0 +1,38 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 19 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "unreachable_simple" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %9 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %10 = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %11 = OpLabel + %12 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %13 = OpCompositeExtract %uint %12 0 + %14 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %13 + %15 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %10 %13 + %16 = OpLoad %uint %14 + OpBranch %17 + %18 = OpLabel + OpUnreachable + %17 = OpLabel + OpStore %15 %16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/unreachable_simple.spvasm64 b/test_conformance/spirv_new/spirv_asm/unreachable_simple.spvasm64 new file mode 100644 index 00000000..eefd8163 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/unreachable_simple.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "unreachable_simple" + OpName %in "in" + OpName %out "out" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %void = OpTypeVoid + %uint = OpTypeInt 32 0 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpLabel + %14 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %15 = OpCompositeExtract %ulong %14 0 + %16 = OpShiftLeftLogical %ulong %15 %ulong_32 + %17 = OpShiftRightArithmetic %ulong %16 %ulong_32 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %17 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %17 + OpBranch %20 + %21 = OpLabel + OpUnreachable + %20 = OpLabel + %22 = OpLoad %uint %18 + OpStore %19 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_char16_extract.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_char16_extract.spvasm32 new file mode 100644 index 00000000..9ea1871f --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_char16_extract.spvasm32 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Vector16 + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_char16_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 + %v16uchar = OpTypeVector %uchar 16 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar +%_ptr_CrossWorkgroup_v16uchar = OpTypePointer CrossWorkgroup %v16uchar + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_v16uchar %_ptr_CrossWorkgroup_uchar %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v16uchar + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %14 = OpFunctionParameter %uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v16uchar %in %17 + %19 = OpLoad %v16uchar %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %4 %17 + %21 = OpVectorExtractDynamic %uchar %19 %14 + OpStore %20 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_char16_extract.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_char16_extract.spvasm64 new file mode 100644 index 00000000..ce4d72cc --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_char16_extract.spvasm64 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpCapability Vector16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_char16_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 + %v16uchar = OpTypeVector %uchar 16 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar +%_ptr_CrossWorkgroup_v16uchar = OpTypePointer CrossWorkgroup %v16uchar + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_v16uchar %_ptr_CrossWorkgroup_uchar %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v16uchar + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %16 = OpFunctionParameter %uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v16uchar %in %21 + %23 = OpLoad %v16uchar %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %4 %21 + %25 = OpVectorExtractDynamic %uchar %23 %16 + OpStore %24 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_char16_insert.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_char16_insert.spvasm32 new file mode 100644 index 00000000..0ccbbf93 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_char16_insert.spvasm32 @@ -0,0 +1,43 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Vector16 + OpCapability Int8 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_char16_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 + %v16uchar = OpTypeVector %uchar 16 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar +%_ptr_CrossWorkgroup_v16uchar = OpTypePointer CrossWorkgroup %v16uchar + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_v16uchar %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v16uchar + %14 = OpFunctionParameter %uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %17 + %19 = OpLoad %uchar %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v16uchar %4 %17 + %21 = OpLoad %v16uchar %20 + %22 = OpVectorInsertDynamic %v16uchar %21 %19 %14 + OpStore %20 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_char16_insert.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_char16_insert.spvasm64 new file mode 100644 index 00000000..dbb7cf57 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_char16_insert.spvasm64 @@ -0,0 +1,48 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Int8 + OpCapability Vector16 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_char16_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %uchar = OpTypeInt 8 0 + %v16uchar = OpTypeVector %uchar 16 +%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar +%_ptr_CrossWorkgroup_v16uchar = OpTypePointer CrossWorkgroup %v16uchar + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_v16uchar %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uchar + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v16uchar + %16 = OpFunctionParameter %uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %in %21 + %23 = OpLoad %uchar %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v16uchar %4 %21 + %25 = OpLoad %v16uchar %24 + %26 = OpVectorInsertDynamic %v16uchar %25 %23 %16 + OpStore %24 %26 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_double2_extract.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_double2_extract.spvasm32 new file mode 100644 index 00000000..559337cf --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_double2_extract.spvasm32 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_double2_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_double %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_double + %14 = OpFunctionParameter %uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %in %17 + %19 = OpLoad %v2double %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %4 %17 + %21 = OpVectorExtractDynamic %double %19 %14 + OpStore %20 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_double2_extract.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_double2_extract.spvasm64 new file mode 100644 index 00000000..ccf2fb43 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_double2_extract.spvasm64 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_double2_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2double %_ptr_CrossWorkgroup_double %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_double + %16 = OpFunctionParameter %uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %in %21 + %23 = OpLoad %v2double %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %4 %21 + %25 = OpVectorExtractDynamic %double %23 %16 + OpStore %24 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_double2_insert.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_double2_insert.spvasm32 new file mode 100644 index 00000000..1d4125a7 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_double2_insert.spvasm32 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_double2_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_v2double %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %14 = OpFunctionParameter %uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %17 + %19 = OpLoad %double %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %4 %17 + %21 = OpLoad %v2double %20 + %22 = OpVectorInsertDynamic %v2double %21 %19 %14 + OpStore %20 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_double2_insert.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_double2_insert.spvasm64 new file mode 100644 index 00000000..48abb07e --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_double2_insert.spvasm64 @@ -0,0 +1,47 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_double2_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %double = OpTypeFloat 64 + %v2double = OpTypeVector %double 2 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double +%_ptr_CrossWorkgroup_v2double = OpTypePointer CrossWorkgroup %v2double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_double %_ptr_CrossWorkgroup_v2double %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_double + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v2double + %16 = OpFunctionParameter %uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %in %21 + %23 = OpLoad %double %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2double %4 %21 + %25 = OpLoad %v2double %24 + %26 = OpVectorInsertDynamic %v2double %25 %23 %16 + OpStore %24 %26 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_float4_extract.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_float4_extract.spvasm32 new file mode 100644 index 00000000..c3a1d9db --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_float4_extract.spvasm32 @@ -0,0 +1,40 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_float4_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_float %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_float + %14 = OpFunctionParameter %uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %in %17 + %19 = OpLoad %v4float %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %4 %17 + %21 = OpVectorExtractDynamic %float %19 %14 + OpStore %20 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_float4_extract.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_float4_extract.spvasm64 new file mode 100644 index 00000000..e7df3b0d --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_float4_extract.spvasm64 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_float4_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_float %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_float + %16 = OpFunctionParameter %uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %in %21 + %23 = OpLoad %v4float %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %4 %21 + %25 = OpVectorExtractDynamic %float %23 %16 + OpStore %24 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_float4_insert.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_float4_insert.spvasm32 new file mode 100644 index 00000000..7cc0d216 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_float4_insert.spvasm32 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_float4_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_v4float %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %14 = OpFunctionParameter %uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %17 + %19 = OpLoad %float %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %4 %17 + %21 = OpLoad %v4float %20 + %22 = OpVectorInsertDynamic %v4float %21 %19 %14 + OpStore %20 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_float4_insert.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_float4_insert.spvasm64 new file mode 100644 index 00000000..24305d22 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_float4_insert.spvasm64 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 27 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_float4_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_v4float %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %15 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_float + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %16 = OpFunctionParameter %uint + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %in %21 + %23 = OpLoad %float %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %4 %21 + %25 = OpLoad %v4float %24 + %26 = OpVectorInsertDynamic %v4float %25 %23 %16 + OpStore %24 %26 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_int4_extract.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_int4_extract.spvasm32 new file mode 100644 index 00000000..441623fd --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_int4_extract.spvasm32 @@ -0,0 +1,39 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 21 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_int4_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %_ptr_CrossWorkgroup_uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %13 = OpFunctionParameter %uint + %14 = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %16 + %18 = OpLoad %v4uint %17 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %4 %16 + %20 = OpVectorExtractDynamic %uint %18 %13 + OpStore %19 %20 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_int4_extract.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_int4_extract.spvasm64 new file mode 100644 index 00000000..5298a510 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_int4_extract.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_int4_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4uint %_ptr_CrossWorkgroup_uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %15 = OpFunctionParameter %uint + %16 = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %in %20 + %22 = OpLoad %v4uint %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %4 %20 + %24 = OpVectorExtractDynamic %uint %22 %15 + OpStore %23 %24 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_int4_insert.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_int4_insert.spvasm32 new file mode 100644 index 00000000..e0ae874b --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_int4_insert.spvasm32 @@ -0,0 +1,40 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_int4_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %12 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_v4uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %12 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %13 = OpFunctionParameter %uint + %14 = OpLabel + %15 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %16 = OpCompositeExtract %uint %15 0 + %17 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %16 + %18 = OpLoad %uint %17 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %4 %16 + %20 = OpLoad %v4uint %19 + %21 = OpVectorInsertDynamic %v4uint %20 %18 %13 + OpStore %19 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_int4_insert.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_int4_insert.spvasm64 new file mode 100644 index 00000000..426ace17 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_int4_insert.spvasm64 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_int4_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %v4uint = OpTypeVector %uint 4 +%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint +%_ptr_CrossWorkgroup_v4uint = OpTypePointer CrossWorkgroup %v4uint + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_v4uint %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_uint + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v4uint + %15 = OpFunctionParameter %uint + %16 = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %in %20 + %22 = OpLoad %uint %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4uint %4 %20 + %24 = OpLoad %v4uint %23 + %25 = OpVectorInsertDynamic %v4uint %24 %22 %15 + OpStore %23 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_long2_extract.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_long2_extract.spvasm32 new file mode 100644 index 00000000..22925a00 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_long2_extract.spvasm32 @@ -0,0 +1,41 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 22 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_long2_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 + %v2ulong = OpTypeVector %ulong 2 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong +%_ptr_CrossWorkgroup_v2ulong = OpTypePointer CrossWorkgroup %v2ulong + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2ulong %_ptr_CrossWorkgroup_ulong %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v2ulong + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %14 = OpFunctionParameter %uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2ulong %in %17 + %19 = OpLoad %v2ulong %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %4 %17 + %21 = OpVectorExtractDynamic %ulong %19 %14 + OpStore %20 %21 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_long2_extract.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_long2_extract.spvasm64 new file mode 100644 index 00000000..5ebac410 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_long2_extract.spvasm64 @@ -0,0 +1,44 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_long2_extract" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %v2ulong = OpTypeVector %ulong 2 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong +%_ptr_CrossWorkgroup_v2ulong = OpTypePointer CrossWorkgroup %v2ulong + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_v2ulong %_ptr_CrossWorkgroup_ulong %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_v2ulong + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %15 = OpFunctionParameter %uint + %16 = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2ulong %in %20 + %22 = OpLoad %v2ulong %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %4 %20 + %24 = OpVectorExtractDynamic %ulong %22 %15 + OpStore %23 %24 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_long2_insert.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_long2_insert.spvasm32 new file mode 100644 index 00000000..d9cafaba --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_long2_insert.spvasm32 @@ -0,0 +1,42 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 23 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_long2_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %ulong = OpTypeInt 64 0 + %v2ulong = OpTypeVector %ulong 2 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong +%_ptr_CrossWorkgroup_v2ulong = OpTypePointer CrossWorkgroup %v2ulong + %13 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_v2ulong %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %13 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v2ulong + %14 = OpFunctionParameter %uint + %15 = OpLabel + %16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %17 = OpCompositeExtract %uint %16 0 + %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %17 + %19 = OpLoad %ulong %18 + %20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2ulong %4 %17 + %21 = OpLoad %v2ulong %20 + %22 = OpVectorInsertDynamic %v2ulong %21 %19 %14 + OpStore %20 %22 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_long2_insert.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_long2_insert.spvasm64 new file mode 100644 index 00000000..f37e03d2 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_long2_insert.spvasm64 @@ -0,0 +1,45 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 26 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_long2_insert" + OpName %in "in" + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %in FuncParamAttr NoCapture + OpDecorate %4 FuncParamAttr NoCapture + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %uint = OpTypeInt 32 0 + %void = OpTypeVoid + %v2ulong = OpTypeVector %ulong 2 +%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong +%_ptr_CrossWorkgroup_v2ulong = OpTypePointer CrossWorkgroup %v2ulong + %14 = OpTypeFunction %void %_ptr_CrossWorkgroup_ulong %_ptr_CrossWorkgroup_v2ulong %uint +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %14 + %in = OpFunctionParameter %_ptr_CrossWorkgroup_ulong + %4 = OpFunctionParameter %_ptr_CrossWorkgroup_v2ulong + %15 = OpFunctionParameter %uint + %16 = OpLabel + %17 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %ulong %17 0 + %19 = OpShiftLeftLogical %ulong %18 %ulong_32 + %20 = OpShiftRightArithmetic %ulong %19 %ulong_32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_ulong %in %20 + %22 = OpLoad %ulong %21 + %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v2ulong %4 %20 + %24 = OpLoad %v2ulong %23 + %25 = OpVectorInsertDynamic %v2ulong %24 %22 %15 + OpStore %23 %25 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_times_scalar_double.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_times_scalar_double.spvasm32 new file mode 100644 index 00000000..24d5b2a7 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_times_scalar_double.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Float64 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_times_scalar" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %v4double = OpTypeVector %double 4 +%_ptr_CrossWorkgroup_v4double = OpTypePointer CrossWorkgroup %v4double + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4double %_ptr_CrossWorkgroup_v4double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %16 = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4double %lhs %18 + %20 = OpLoad %v4double %19 Aligned 32 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %18 + %22 = OpLoad %double %21 Aligned 8 + %23 = OpVectorTimesScalar %v4double %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4double %res %18 + OpStore %24 %23 Aligned 32 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_times_scalar_double.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_times_scalar_double.spvasm64 new file mode 100644 index 00000000..43e64878 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_times_scalar_double.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int64 + OpCapability Float64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_times_scalar" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %void = OpTypeVoid + %double = OpTypeFloat 64 +%_ptr_CrossWorkgroup_double = OpTypePointer CrossWorkgroup %double + %v4double = OpTypeVector %double 4 +%_ptr_CrossWorkgroup_v4double = OpTypePointer CrossWorkgroup %v4double + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4double %_ptr_CrossWorkgroup_v4double %_ptr_CrossWorkgroup_double +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4double + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4double + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_double + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4double %lhs %21 + %23 = OpLoad %v4double %22 Aligned 32 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_double %rhs %21 + %25 = OpLoad %double %24 Aligned 8 + %26 = OpVectorTimesScalar %v4double %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4double %res %21 + OpStore %27 %26 Aligned 32 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_times_scalar_float.spvasm32 b/test_conformance/spirv_new/spirv_asm/vector_times_scalar_float.spvasm32 new file mode 100644 index 00000000..7e449367 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_times_scalar_float.spvasm32 @@ -0,0 +1,46 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 25 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpMemoryModel Physical32 OpenCL + OpEntryPoint Kernel %1 "vector_times_scalar" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %uint = OpTypeInt 32 0 + %v3uint = OpTypeVector %uint 3 +%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %15 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3uint UniformConstant + %1 = OpFunction %void None %15 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %16 = OpLabel + %17 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 + %18 = OpCompositeExtract %uint %17 0 + %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %18 + %20 = OpLoad %v4float %19 Aligned 16 + %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %18 + %22 = OpLoad %float %21 Aligned 4 + %23 = OpVectorTimesScalar %v4float %20 %22 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %18 + OpStore %24 %23 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_asm/vector_times_scalar_float.spvasm64 b/test_conformance/spirv_new/spirv_asm/vector_times_scalar_float.spvasm64 new file mode 100644 index 00000000..0fbd0386 --- /dev/null +++ b/test_conformance/spirv_new/spirv_asm/vector_times_scalar_float.spvasm64 @@ -0,0 +1,50 @@ +; SPIR-V +; Version: 1.0 +; Generator: Khronos SPIR-V Tools Assembler; 0 +; Bound: 28 +; Schema: 0 + OpCapability Addresses + OpCapability Linkage + OpCapability Kernel + OpCapability Int16 + OpCapability Int64 + OpMemoryModel Physical64 OpenCL + OpEntryPoint Kernel %1 "vector_times_scalar" + OpName %res "res" + OpName %lhs "lhs" + OpName %rhs "rhs" + OpDecorate %5 FuncParamAttr NoCapture + %5 = OpDecorationGroup + OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId + OpDecorate %gl_GlobalInvocationID Constant + OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import + OpGroupDecorate %5 %res %lhs %rhs + %ulong = OpTypeInt 64 0 + %v3ulong = OpTypeVector %ulong 3 +%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong + %ulong_32 = OpConstant %ulong 32 + %void = OpTypeVoid + %float = OpTypeFloat 32 +%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float + %v4float = OpTypeVector %float 4 +%_ptr_CrossWorkgroup_v4float = OpTypePointer CrossWorkgroup %v4float + %16 = OpTypeFunction %void %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_v4float %_ptr_CrossWorkgroup_float +%gl_GlobalInvocationID = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant + %1 = OpFunction %void None %16 + %res = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_v4float + %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_float + %17 = OpLabel + %18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 + %19 = OpCompositeExtract %ulong %18 0 + %20 = OpShiftLeftLogical %ulong %19 %ulong_32 + %21 = OpShiftRightArithmetic %ulong %20 %ulong_32 + %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %lhs %21 + %23 = OpLoad %v4float %22 Aligned 16 + %24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %rhs %21 + %25 = OpLoad %float %24 Aligned 4 + %26 = OpVectorTimesScalar %v4float %23 %25 + %27 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v4float %res %21 + OpStore %27 %26 Aligned 16 + OpReturn + OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_bin/atomic_dec_global.spv32 b/test_conformance/spirv_new/spirv_bin/atomic_dec_global.spv32 index 22a286cc953bdef0f47560f64003c0a58ea79367..9f07a61143016a622204fa548c77c273e8fe1cc6 100644 GIT binary patch delta 227 zcmYk0I}(CG5JY=Fd=wT@LJ}zh0uNw>p*e>k<`7)L3sA+Syn!Lz6jr%gucmjVXJ!}w z_QBa(0vG@ZE_0|&cZJ7+?`Wr?I#Q=Zd2y#l^^BY)xXtPQw5R^UA~1G{ rd4Yo19R~EAtH~##n$Cw#jca`~{ zAMrm5nxRJxc+wm~527pEym1&qYJ?=TF7<7rMtwQ|;(i;m9 diff --git a/test_conformance/spirv_new/spirv_bin/atomic_inc_global.spv32 b/test_conformance/spirv_new/spirv_bin/atomic_inc_global.spv32 index 7680b2b9df25e706cd34df24fd6eab50592eb7d8..056b4575ba535ed68e0b5d5864817589fdceaa76 100644 GIT binary patch delta 227 zcmYk0I}(CG5JY=Fd=wT@LJ}zh0uNw>p*e>k<`7)L3sA+OJc1$J6jr%gucmjVXJ!}w z_QBa(0vG@ZE_0|&cZJ7+?`Wr?I#Q=Zd2y#l^^BY)xXtPQw5R^UA~1G{ rd4Yo19R~EAtH~##n$Cw#jca`~{ zAMrm5nxRJxc+wm~527pEym1&qYJ?=TF7<7rMtwQ|;(cudZ diff --git a/test_conformance/spirv_new/spirv_bin/branch_conditional.spv32 b/test_conformance/spirv_new/spirv_bin/branch_conditional.spv32 index 5b16aca3bb390f68bfe9b725badf512f032ae5ef..2f731ac84b6a78ed44c6bbc952a5ee65dee99840 100644 GIT binary patch literal 808 zcmYk4T}s1H5QWF2wbiP%wzdAZA_(HU3erAW;+rc7X)Cl45=o^Ca7XS=1;O(rxzY=h zIWzannVBTMcU3dnFteHs^yIY6vr6f!rQej_Ge2i~!cD6iIVvYvluYO0G)-oU_eGjS zu~}7Ic-iYR$G&hpFEHAf@K{~Yzn0+xRp7~^-H@H-v7g6>Id0_mMmP+YZ;Nadj^lI^ z#X+)4rxE>wSuxkM)X-xN`qQ_orxyO-wWqkQm>ise;w^a&`Hrf$<=gVib6eK$2y@`? z%G0ONt>`@!nD|oDHsz^>=j^fU!=9WwDZt@0$K_iPuXB5f$vf_+ba{72GIY5A zQ5EsA>_o==;E!^yQ(<`UN1BFx$bE~)zW|>)$3GW#+Kx|dolo6Rec9(ihNj!2FU-8` QG13ggaNG{R`XUdqKdt;O0RR91 literal 824 zcmYk3?Meb+5QRrq)3Pj6v+q`dAo^cH=+DIdbp^|+fx@yIYj^?OQFm8C(0ShV1qaT~ z$DTPevm2DJYi1=gt65)9tYu}ZtbKLux8$1^IA&S#zSWHyos&FHr}JonX3xQ-c#K-b_5Cby@Yy618ew;v14{L&o0 z<%xhU{9kd%PlYpq{fR%tWj_BO9{i!ULyOvvco*{U>GS+c#a`R2R|1;; Vu23=ibJtKiki+pe{ppW93jZ%fF023m diff --git a/test_conformance/spirv_new/spirv_bin/branch_conditional.spv64 b/test_conformance/spirv_new/spirv_bin/branch_conditional.spv64 index 806b1bb41a43d6668cbcfd816be64cc26992910d..cf1b8754e63398e41b336341973f6feccbe129f3 100644 GIT binary patch delta 274 zcmYk0F$w}P6htSR)rc4sbY0gKEK&$|)}p0%@f5b(=OTIrZM}`H;7r^F1CReRe=7VM>a@@Tb^y>w}3Y7^Eau|zYaj#w)q zJtH~kysP&9@2!CyH0aDH#_5}5a_5pE>zXLEj<0O%`6S(vGa4Iwno<2Jdm9QRbZY~9 JrI+zyH(y=_5&!@I delta 260 zcmYk0K@I^y5JhXc(TGMeW`-dV>4o*Ig{8YVh3)M7BAkJ(+cMv!u~ zcY9}}qYPvyB6;+t+AXvLJx}S2qZXjLhevEoem!$DW2(SH3A$%OU4rTcdXT)U@BHtr z(Ns^~125*xYtZBq+qIvX_mJbDe6^T5juMpJf{$4(v}=D3;T8)45| zyhYi{o5bnVkKJUI&V1%@gJQmCb)z41ppR}(Pc8nxb6@e6VsdbXinrxC_3(N!^3_kQn=3@_XALV?f!tkjZYby34_bnd(1bpf(|6JH=SU$ORK6N80 cve$)-o_3#sFmtodSThjAvAg{0%RI>b0IQubzW@LL literal 840 zcmYk4+e!jq6or2s&C;?=&CZPkL3Ce1=w)JeJ;5*@$bn%dMzQqmb-ZOgT>zXkoV@%ET^^3Jk*;EQ&E&P^z(|DFyR=jWOh8mrdEKH`0V45bgXceVN z7zZEo=xwo@&rDT4@U!{S#-8GMk;lx)6pu8GIX41+tPVVNW;BFzn|n4tvT?)4w~B*c z`5tBKU=*j5FdirCbQ-e9c$V+?A~p2bgZa$u>Q{#wU%-0Gx8g;JQZ`f8@rbRoRZCq?Rn6K@VUpu z?CfIh`_|Kz{6KTq|4=}a9_&@R+}aj+hCQo>Zbv|mXY{jgSD;Qm`i{%DAm8Nnlv8(H zZsPW1ftg>L!@E2Y(1ri2Ipn9pnSdtyatF0f^{@y31Nig}wI!O=e#EF)Cta|ibgwF5aEciW%7%%kuRYt}Mq diff --git a/test_conformance/spirv_new/spirv_bin/branch_conditional_weighted.spv64 b/test_conformance/spirv_new/spirv_bin/branch_conditional_weighted.spv64 index 2ca9127cda468dd793f6aa70a83daa8e47e176d6..bb1520f1aa380fa76ea794a1df65dfb13e13d9c1 100644 GIT binary patch delta 278 zcmY+8%?*M;6oj8Ff-&Mx5K%GlKmitDB;n%SQapOHh`msT)}SrejR(IWXyPVc-s}v_ zz9w$s+q-w&TWC`=OCg4XMK)m0A%XyOPS$Vp46RJ(*?9}J`~)7Im!sv&JK{~4OK_k} z?~L@sN`XHIX}v~;|FIR^P|m#d0f|i=HT)~ P6Ta8x{suLI>FWHVEwg%SXRp{f;ZKjzPX$fjMuTojYR}pF rGQ~;2?}YCiGvIFLe%>7IDfXK0Z6(^ZFRB-?H<*uH;CkoZeChx`(8LZa diff --git a/test_conformance/spirv_new/spirv_bin/composite_construct_int4.spv32 b/test_conformance/spirv_new/spirv_bin/composite_construct_int4.spv32 index ac668439ad65c90256686457a58c77d1a5c44d81..a17daa5d00249d0fac37d0e0d5c2b5aca6e1a827 100644 GIT binary patch delta 280 zcmYk2O%B0O6ov0=A5}aQNv9e^3m_4O9UIz-U|<18(y1kM3)W<6BJmv|=}W%eb8hZm zTKl^XaWqfNoS7vyy@lr`H*X!R|1m?Q=oTnn;JZY+zWD`SwLLh)-}lj{h7agt!w=90 zSkv7m#=xttE-N&DNk)4kc<~()H&p75QT1^7K9d5y9rx(EG3XL)*G6qA>CvPKXqx)A PDFRUa`xygV7-F(>9{od0`9v5Z~;G_GN1qW zkook-N6bg5J_J=|zonwaFJyiz)R?|jyUES!XHe`XC>e0=$oDo=;AE#c!LD20c;gwc So8N8F%zfXQ-9LQ83VZ?cNDn*! diff --git a/test_conformance/spirv_new/spirv_bin/composite_construct_struct.spv32 b/test_conformance/spirv_new/spirv_bin/composite_construct_struct.spv32 index 3ad1aaa2b4d6ccb8855e76fcb8326c16f463ed6d..4f881c53b6d4007ff8d21bed3093e82763dfa392 100644 GIT binary patch literal 620 zcmXw$%}T>i5QWF2wY6%0tyK`I2#V;+g%w1XhVJwUE;YIc)ZEgbB1Odeg9Y4&z($JDAcw|S9=l@X2b!egi@v6qK6XTBOH2+sR@@R(Cr`}o)XAf} zBSw?_iQ-)`+T<@4^R_K?f381?(dh_Z!n)p-Z{KB|{$3SdNts!FfgbXA(%=^E!fw>V zJpKd5{E4c}=cZqM2jVC7vGbn5KI}k_y@vubsNGAQd-x~JKm&VLmfc1IHSAG2<{Sw0 PQG3uUVl@A>)vfRkmOCfs literal 636 zcmXw$%}T>i5QV2nYqe^BthFj45kV1MxlloLY3NR$Ak^q0P;*NYyAymopTK8vBY3{# zI&gaC%>Qk|;J9tpFtfJp>lYhXU`@|0&nuo!#a#=ljzE6TI!2BOse7BdA}e2$)a6CF zcu&iuCbO1$sLyh%xH$OQClvzgg9t$Y*z~DspE+k`(i7u}tEbd!EiF`O>A+ zGIROlrQSc%T<(qpY%IkLV$6u-aVtiAs7-pj(YGp&1dP5lF)?l?-|<>xhtk|mo;Z3# zOb>DPY>L@I{7AYhW*6~uX?lA?|NHU-&78jQDg5UL^6jh6Q@`c)g(kCWC{RQERx@}T z@5HWD!@fqP_-1C;%Ces~{pfdF{HQu^9tqVwKE~aA4|b5d({$c57TCcI>`77n-(7(m W_MjMh_5|w4-Kz`D%wJt~Bm4oy?6JNJc7eHToCU6cI0a{;p`=0LIf9YAUeAoZ`-<1J zh{-aSf}~v4t$3d2O4UWyz*Q+x53cF=;S6}bKo4NtZGWxU?hVnKUq->*(SKdu4`Fq& zYseZM*Z5!mB8(M{ng@XU3j=iC|ao@Wg%Yv+CxGVS=( E7vJ^_8~^|S diff --git a/test_conformance/spirv_new/spirv_bin/constant_int3_simple.spv32 b/test_conformance/spirv_new/spirv_bin/constant_int3_simple.spv32 index 7798551948b9f5c52c326eb8eff8faef8669b24d..879ed90bb5b719a04e556a267f7cbdc684b89a02 100644 GIT binary patch delta 211 zcmbQj@`ag~nMs+Qfq{{Mfq|VtXd>_HR0ReW1`Z&X6^a#sd`_@516W)e$Y%laxq!GD zh+%wgAiD~Q&jVyv0g8DEu*p`$W(I%X0WMDK=uy?CI&trZ41@G mKlvb|xTXM5gdd1Ozzt{;$Zdi^4AKFTvjd8O_`H)DnS=q|Rt*UN delta 244 zcmYj~I}Ut*S4K0MqXm6#ZyKo_D;Tp`i0heZNYhmfRL=#_f=YHmWUj7zm zK5A1lXJ)C*ui5jmu-N+88mKD#09NKfjUU22puEA4V77Gm>N`KipTW;(=+mFi(MPbh zq}x-VnMq8Ic{sSX(b^41buI#L-U+;=OXsKI?yBWX3aIwv>MnsM^tU6EFT%r>AK<1A AcmMzZ diff --git a/test_conformance/spirv_new/spirv_bin/constant_int4_simple.spv32 b/test_conformance/spirv_new/spirv_bin/constant_int4_simple.spv32 index 49141cee01530a470273c0694352a6ea1b8137b9..4eb2ff55b149f78f52887e153dbf7024d1ad9d8b 100644 GIT binary patch delta 281 zcmYk2Jqp4=6oey4cm(g}1#ASr2?|;G*qPb4?``r7 zkB}#EnM#qQRMRSd-DV2vV8f3&s*7%c^94R*=T@CB@viN`75=`DzBGJ}J~w=UKEaAk z?mGZ_Wb#E97xyYEj~=yFQjdz!Z^at2Z`H1!G(sofGp_@wpECxZdF{#k2@`Og&vs3y@{AY5p>i}rSWbTl2$ACzkntYE-Jeap8v4tN1&AAp{Zn-asZDMESPhr*Wto-F_ewX-X zE#D*lUd!9WUu$`X_!C^Q$-Vo)9nRTn{hr-wR=;+G3h(-_HFexlRfqrgmv0yUz?6Cq hfV0-LXIS6V1J<-BIOh+6ebye~%+(~P|KsW%_y?+EAR7Px diff --git a/test_conformance/spirv_new/spirv_bin/constant_int_simple.spv32 b/test_conformance/spirv_new/spirv_bin/constant_int_simple.spv32 index 829cfc481cfa63a09c2c3e7c01aefa721bcb5ffa..34ed429beabff9388c55c30a13f643439791d1bb 100644 GIT binary patch delta 176 zcmX@Wyn&gQnMs+Qfq{{Mfq|WYed{kp1nh6nGnlR7@Bj1dv#WM@CkI7I68%?6bNH-rxsd4t dICI@_Yj^>ixvqGAaS1%1V3&*3Gx5{ diff --git a/test_conformance/spirv_new/spirv_bin/constant_long_simple.spv64 b/test_conformance/spirv_new/spirv_bin/constant_long_simple.spv64 index b52f09aa2c9e1ef0ff42543f8f8b1dfba1d49fa5..04a00d9f4ba2bb37cb4d18c297172f0f6f41dfae 100644 GIT binary patch delta 237 zcmXw!I}XAy5JV?-AV3H|i9U!j2Y@D&bQGM33(z2r1UI6g0Esu2S!wL?o7LLBmY>+f zu&ty*Ql-_cdG)PIjW`Zai8id`6f5zL#C(EU3XphXWu?*1zFn{FZ@9%O zIs=siMMnjeu^68F!OBr=(6_e>77EF&ha1R zs>q#&Y3mFhkb90xzj2Ot&++Qn0&niyo;_RQ&CO0QzjlSZk6x_<>kUfuC3ZU>{#i- zJw%_ZGBampnU&Az-K|fqSXi(D8bIEXY>1{HzoH(YjQ{;LwR*>pzqeP_nv2lDhDps$ zKt1x0^z={d EeuexE>i_@% delta 245 zcmXX>I|{-;6rBBN{H-QYu~HH&wGu%=wDeXXmiB3KjU2#hcorMMnZ*agdo#N;Z};h2 zADrDLfB}$T(FJGfg0pG~k0JXYGGIeK`g7?8`Ix;&NH57J?2L>0j$GbAr0+u|F5i@R z5PLf1n-RJr{Q}?AW?d@h1Q&BG=MOAW_AB~vU)H?L>X=i>2-TgsUNa};(AkX%;@a@# HAJ4=OYCH|< diff --git a/test_conformance/spirv_new/spirv_bin/constant_struct_int_float_simple.spv32 b/test_conformance/spirv_new/spirv_bin/constant_struct_int_float_simple.spv32 index e5fcb4ece23ed2ea56ca944a8d2d5f5d5f369a86..7a9b68848fef0d4a20f61d925ed596995ee58155 100644 GIT binary patch delta 244 zcmXYs%MJlS5Jm4yH{;dgl~@XyC3`l+N@8i_EBFWgfcRK866X$`oUW={eXG*b(turMLC11qT0j=KP{?5-T>=!I$a_YYJEZNw>@y;+P(y*@~~Utw66re zNzYqWojqa2R!`31&D|$%)T}oR$iu%!&=J*JhTxvh9?kv{c!qmhT&}(C!xz`^1!Q3i ABme*a delta 262 zcmXYsI}XA?5JR10A^Z~llqeA;^w5B)kSJ+51sw-~BY-$8G)O#$tmO5Kz2ni|!y{x# zyhx=;QmV-_d*7xCYS9+JXQo7LxBzp!4s8Fg1$C(#zjS?*e_f;U;*2$WogIS@_W<6iS?wB9C$$IZgi5?dz@EsX*I&|q1lv-U3)S1$b-3dOPPvEn-5&XXC zh=J22C&@|vPPuek3t=UMPz(F~YVA-8mBOzUzFPQGd?S?ei4t)$)Pp@LjMHSEjgo9Q z&t`Aqe;2<_Coj~i%sCS$Aw+B_6W753h{()$^SF}toe;Y>qRZMD7!K#tc(xculk{mc z86=BzJj&uU89Xm<=%VZGeW3No)R0r7PvpIte1}c^0eRmV-acNLRz_^Y>w!{@SYf4j&pPi5QV2nYt?FhthFj45kV<+T;TeUxz@0wpJJe_;iF>2_Ln^oPJ&dd!}MQ$QQQ87;!%P7q9r#PFr zWuC-kn!DNaYKM{fvU?z4V@33Uqeq|<`(p4zP0|Gzx^?+Lz|d{T!?82@%{rE|W5w)F z9-eqh9t}Kmw&j@tf1|8@CJOrO5+A^hbBI@{+ePyJ3EU#K&4hC!})B4(E#O}i0(0bQ>tTL1t6 diff --git a/test_conformance/spirv_new/spirv_bin/constant_true_simple.spv32 b/test_conformance/spirv_new/spirv_bin/constant_true_simple.spv32 index 7e4ad7671e79cdc52f4c1ef4cdccfc0d43770aa3..582afa6e9c866d4fe185099a6bc736b2a6a34d38 100644 GIT binary patch delta 245 zcmXwzyA1*{5Jcx}!|^l!0zd=^Q2-oU`Eyw+s7Jd}QlHv^1Z(aA6?f5hip4ji-!rpk1djUm`E{$dcW)hVJ1s!V yJ*K|ZEn5@5o#O2bCv?9$g$Um9xuW`&8F=Q?pgDIA_IY+jbMIWVT$aB4*b#oS#S78^ delta 261 zcmXwzI}XAy5JV?&Ap9JDp%0=!hyy?a9rPT4v(VBaPQlr@KpG_8Sg_J~JhQuFx8YvI zkgrN9lT@mH#P@ZfLOo;yT(xrb;Rb&IcYym#^blq{`5T2aH$rcJ8IilA|GIjfvh~ed zJEonMgO+m)ztm016Yfs&b_EXjesu~0@Q&+(Tfj5mp6iU~+&S=^dq+HL=iFk8hx{O8+OU+o`Gj*5~b`k#`P@I}*dA=3wN c=DOq7@CrC{-SGV48hFmxl`ZQQ41D(lMtG(Q0ssI2 diff --git a/test_conformance/spirv_new/spirv_bin/constant_ulong_simple.spv64 b/test_conformance/spirv_new/spirv_bin/constant_ulong_simple.spv64 index c26d62df58a11f6475e587bc3d444d519ee053f9..116ebc809be6e2ef8771ad7a13b9f58487259469 100644 GIT binary patch delta 237 zcmXw!I}XAy5JV?-AV3H|i9U!j2Y@D&bQGM33(z2r1UI6g0Esu2S!wL?o7LLBmY>+f zu&ty*Ql-_cdG)PIjW`Zai8id`6f5zL#C(EU3XphXWu?*1zFn{FZ@9%O zIs=siMMnjeu^68F!OBr=(6_e>77EF&ha1R zs>q#&Y3mFhkb90xzj2Ot&++Qn0&niyo;_RQ&CO0QzjlSZk6x_<>kUfu*J||e30W7W!GuTunAo~Xc69XTRwuS28 zpS+h*+(!T?!VknC;081a%wo&#$?KY#w=S{(Iyt&WR4xPsx=-u?g`sCH-{Fo$c& P7LV%E@@V3RA6SDg8&3{$ diff --git a/test_conformance/spirv_new/spirv_bin/copy_int4_simple.spv32 b/test_conformance/spirv_new/spirv_bin/copy_int4_simple.spv32 index 720f3e7914c0339eaa3338b9d5878f53f72f64db..98651621ae93fa426e63dd77046493227c3f4834 100644 GIT binary patch delta 264 zcmYk0O%B0O6opS;AEmTZE1haOWG)5_ZNOp#11m6)Zov|4#42pT(03b>zU0e0=l(za z!zZDuBPoy+X?{=M*HT^stpBk<4beTYc!iJo>1yLkyw#520)Ib7pF2K5pE^E8A7RBL zn>zt!#Ii;!PMcd$SGH=cuwCWQA306=x9YbiWz8!nH!~s`*xM7ggLAMB%N;n;mK0!% McGOtDXeyU~0Sn9y>Hq)$ delta 280 zcmYk0%MHRX5Jbn0A^bu}LWsmEQI2p&9N*GXn`X$mXKoUd3VO^ z-F>>3OCsCGfB_I=@kl=R5)K2(n&?#2Lq>Uy)VxQGJtDuM9y78_@K@BToscW}>xB8G zqo>Tz9i1{i0ZXjeN{wekP4rR4slS=F(WnigFv>Fj!Xjhbp&wSt{o7RAf=*6!4)nF~ Woal$%j$BeRN}@S?*66+TnJs>xx(_`7 diff --git a/test_conformance/spirv_new/spirv_bin/copy_int_simple.spv32 b/test_conformance/spirv_new/spirv_bin/copy_int_simple.spv32 index 7b194074bb08e7a1cb90b0cb2e87c446ad983bd5..701a9e9570af11a8ea24d173fb9db78d84fb7c4e 100644 GIT binary patch delta 174 zcmX@ZyoZ^WnMs+Qfq{{Mfq|VtU?T5hO$7!P1`Z&X6^L1YSP@8af~6V2;@UtyNStf3 zCZoC{NXDFj87#vDWdC4bV&DeSwhU}w6L=;UGK#zK0!4U$7zEsa;vn<+fEc6$Bo_=d XlOM?D0%AL$i6D6p|1Z#S7C;ODLwO3> delta 190 zcmdnPe1@5qnMs+Qfq{{Mfq|Vta3b$xOHl?E1`Z%s0f<3B0m$bB(yTxX5?2KBxqviK z7g$^ys-AnYB%`__NXDFj87#vDWdC4bV&DPNwhU}w6L=>lGK#zK0Y!L$7zEsa;vn<+ fff%F%Bo_=dQvk^324Xv)i6D6p|1Z$77C;ODuGR}E diff --git a/test_conformance/spirv_new/spirv_bin/copy_long_simple.spv64 b/test_conformance/spirv_new/spirv_bin/copy_long_simple.spv64 index 19e49d9ab831a13268677224027877370f0adf35..4848064b499ce0c9389a1c7d3af799ace9997775 100644 GIT binary patch delta 253 zcmXw!I}XAy5JV@AAwUS<3j`sm8~~b7B2gj^L`#ckxDVWimIjG8R#<7`@tf6p^N812 zhMGd(2P(&-f!xSs=hQxe?YUKK}@_x*ki@UeVQ+L3B6g1{+)lX9^ ze2$#CPTj-_-kIywu_@l%uRS|9!<(BOVBU6)JdbRnGYfjf1uD^==iK1?mw(-%AN)-W AnE(I) delta 269 zcmXYsI}XA?3`8f%Lii;7>4Oke4geG&Dmn_pfoN$F4flcj(9$6BCR$4)kDtBX-CKBu zGE0}alt{`oyO*ESTtOYm19DWpbB4 I$KN;T52Be39{>OV diff --git a/test_conformance/spirv_new/spirv_bin/copy_struct_int_char_simple.spv32 b/test_conformance/spirv_new/spirv_bin/copy_struct_int_char_simple.spv32 index 4555a397b59f612b7b3abea1be3583a7711c44fd..2ce64ab7824dad889d994d397d909bc30274ff00 100644 GIT binary patch delta 278 zcmW-dy$%6U5JqR$vi{b8EksGBKq8cS@j8T85IU`A@+=zR9Fv@#JKubB=VqVTJu6D- zB#%fUB9Fnf_@1jAjbUU_BWIvC;#4P>L48c!AT#~fr__3z(0R>I*3K1hff0%H;7+aoEC-n&F~UkY!&ZSn@U`#a!_J!6mR?k?Cfc4*G`K%cz>F5l1x-?8Nu K`_>CpSZ=T+j;$TlYOBK^bY894?q*@o!G2vL(s(? M8`W3+;g{F&1!r~+8vp^!K}rAIie=C2)ewkplfLp^gQF# zfp^Z|d){+CrdT+vgs>1osDxdP6xeum>VC^Q|l{WxOL|cSW%5oq#x=jFRyzjt1#tZ_pji z(tdB6q{Hshe18jF@9qGtO{Ru5H9ADzs#$NciN|NWCA>UuRA(7)P1`50;_X{E_jdc% z)m_D_Y5jnF4X?KKQ*vk5LH+Ce-CUg-_yB+XI&t`%_vJV8{0wFHYydT!v*!LLa89l@ z_iqC0@~_$Dn|;4_0mr-iUz&Gb()CW?{>`_AzhTPv_)na*r`=Qawl=V*-BELX8_2Ww T0Lxo;fcM;@V&D9S?N{Iz=%gpZ literal 652 zcmX|;%PvDv6oywXZbgf#d!!;E!pH!LFw}G?9^iyBI7zjQRucn>$MXc9#YE!!P7f>j z&%gh5-}{t``!f-Rh?t3OzS?pWqnz_}&WAZq!PO{b6-CaqsDwFo==29~$#C@Y+8O;* z`aI}95u2jM{InO*qI-$+JlFv(lzJ^Ym$SSB&dzF)W$Xwf$#9UqjFVQk|8U=J_s0Fs z{V47C+K-d@4f?uw6KLxwd+4)Alasq@`s+;M@?qU9+yt6+bFe;lHeSg!6uW45H?Cj3 z09&KqIg79}^zWgou(R|ZqphuhrLWU>wSAVr2l$IGbB@nR-29bXpU~Mkb&&Od^*MhP zSZA(2=Qn_U^Dmj@8~7gD89DA%$dvy!;+&{^diQU>{+BDNyw5tY)|hsS*Z183#e1MsknMs+Qfq{{Mfq|VtU?T5xO$7!P1`Z&X6^L1YSP@8af~6V2;@UtyNStf3 zE~9!4NXDFj87#vDWdC4bV&DeSwhU}w6L^4ZW*`R1fj}To6r`IMh(U57;06=}*~kaP dAax+QV5lwpKsFZ;+W}1h$%FWRfzGu6VgRs&3PS(@ delta 208 zcmXYryA8rX5Jbm!1_S2!1cXRN1OyZS1Q3#2Zigli4N(GJxCIg<-kiMBXm)1ycJCcO zF~zX2q(V}q^)vOCjY>_B4RAH+DLex9cjy_+tLz_#`TDgj4i6_M#he8CuY%_ARpY!N l(MRCS)#8@$0yuNs@qBR!Jm;(%uB_;5aAS*e>mT1ggFhzp3Zei2 diff --git a/test_conformance/spirv_new/spirv_bin/copy_ulong_simple.spv64 b/test_conformance/spirv_new/spirv_bin/copy_ulong_simple.spv64 index 11796a24e85d83c24e7c35786c381f940c990166..b3434bb320653be79d255de66894f5d2335fd546 100644 GIT binary patch delta 253 zcmXw!I}XAy5JV@AAwUS<3j`sm8~~b7B2gj^L`#ckxDVWimIjG8R#<7`@tf6p^N812 zhMGd(2P(&-f!xSs=hQxe?YUKK}@_x*ki@UeVQ+L3B6g1{+)lX9^ ze2$#CPTj-_-kIywu_@l%uRS|9!<(BOVBU6)JdbRnGYfjf1uD^==iK1?mw(-%AN)-W AnE(I) delta 269 zcmXYsI}XA?3`8f%Lii;7>4Oke4geG&Dmn_pfoN$F4flcj(9$6BCR$4)kDtBX-CKBu zGE0}alt{`oyO*ESTtOYm19DWpbB4 I$KN;T52Be39{>OV diff --git a/test_conformance/spirv_new/spirv_bin/decorate_aliased.spv32 b/test_conformance/spirv_new/spirv_bin/decorate_aliased.spv32 index dc6ead2eb61fa56698e7fc5c7489e1d688e55a86..5c0444a424a083444c703eba08274363d4613ba0 100644 GIT binary patch delta 281 zcmYjLISv9b5OXdT3Bt7tw5(Q$j+P2adY(ba3!vZ!c?Si5;{n*wM%t0Aj6EJt-r?t? zvt0!k02Mahcrg1NJf`G<7!xfjT`TnjmlZqcUFp-uY@ahSo`4*x8AlAe;1mq5V}Qu7G@#sjcdSt%n~GxmBs`}6N2 zINOzg0Z^j;hP^pPc+ANgLe-E5_JWY!VuA(xjF6tt-%Zy_J;5c#j%JtV{$uLrl8h%I zhw8@UDf^1ho9aqUxobk(dOP#3?r#X`+V@2ERs$bwlBP8w1<|z5uDn;iC6TWAK+L=9`=NJDO}csCh)oXJP*ji%7O?G&3b^qB>gBWH IAHU^7{`rFqG5`Po delta 312 zcmYjNI}XAy6myz{B0=~RO4n8$nGq}?v9NQ1o&`qso`558I~FADsFC_4>&1?rUzD$V z`Czj)2MmB5)hF!Dp@hSnye3pNd0_X1^ac|w*k^?Fh`uvzBlQRym27mj>D<3f^;nW| zCFD@unLK4*5xP^|s3~_%Xj*q??$!Q+kgj=0B=2V6WAB!l^yGcQUt>r~Q9&}KfZbqJ Qz=aPGmoE+f_)RC`4~I$(mH+?% diff --git a/test_conformance/spirv_new/spirv_bin/decorate_coherent.spv32 b/test_conformance/spirv_new/spirv_bin/decorate_coherent.spv32 index 2e49c6fb14e7412046433cfd59af5c2df49d76a2..6fb02792df84b137713ce5fed58a5ac2e6f650a6 100644 GIT binary patch delta 18 Zcmcb?b%$$%6f+~&WNBu_%@)iGOaL`c1cLwo delta 18 Zcmcb^b%Sez6f+~|WNBu_%?`{mOaL`y1cm?r diff --git a/test_conformance/spirv_new/spirv_bin/decorate_coherent.spv64 b/test_conformance/spirv_new/spirv_bin/decorate_coherent.spv64 index 9227ffd770daa314e1965ff13afcbe4590e470d0..267c0fdc1368ee895101cdb04fb5a0de9504400c 100644 GIT binary patch delta 22 ecmZ3(vw>&BG-gJw$wlz~)?=J}XdO>YDyXld?~BUW zPyz-(iDs;VxzzAjlDC9jOJ1=Sg!B_;Sg|e$=@G-rguB!$TvTkNY@3WCGURXx%WU#dh+(nRYpxHNAqd_j3bGR3g~DQ MmoY8>_)RzB5B^&YZU6uP diff --git a/test_conformance/spirv_new/spirv_bin/decorate_constant_fail.spv32 b/test_conformance/spirv_new/spirv_bin/decorate_constant_fail.spv32 index 0b6d84cff662af8c69c8200102d55091670a0d82..9ef85b5a44513218fe950f9946761fe34460a3a2 100644 GIT binary patch delta 281 zcmYjLISv9b5OXdT3Bt7tw5(Q$j+P2adY(ba3!vZ!c?Si5;{n*wM%t0Aj6EJt-r?t? zvt0!k02Mahcrg1NJf`G<7!xfjT`TnjmlZqcUFp-uY@ahSo`4*x8AlAe;1mq5V}Qu7G@#sjcdSt%n~GxmBs`}6N2 zINOzg0Z^j;hP^pPc+ANgLe-E5_JWY!VuA(xjF6tt-%Zy_J;5c#j%JtV{$uLrl8h%I zhw8@UDf^1ho9aqUxobk(dOP#3?r#X`+V@2ERs$bwFZPUg$I3n4 zV#>2+DFsQTrq7gzy3N@&S7b>AbYOw%{)fj_Iwk;cs{EcO#eV7oHSTc_X-zg?JM?G0c4 Gc!VEf$PL~A diff --git a/test_conformance/spirv_new/spirv_bin/decorate_restrict.spv32 b/test_conformance/spirv_new/spirv_bin/decorate_restrict.spv32 index 202d6810299acd251882b58f7fd5d29352d6786b..6d57ebaac604b9d5897fc5d0e65fa515da3267f0 100644 GIT binary patch delta 281 zcmYjLISv9b5OXdT3Bt7tw5(Q$j+P2adY(ba3!vZ!c?Si5;{n*wM%t0Aj6EJt-r?t? zvt0!k02Mahcrg1NJf`G<7!xfjT`TnjmlZqcUFp-uY@ahSo`4*x8AlAe;1mq5V}Qu7G@#sjcdSt%n~GxmBs`}6N2 zINOzg0Z^j;hP^pPc+ANgLe-E5_JWY!VuA(xjF6tt-%Zy_J;5c#j%JtV{$uLrl8h%I zhw8@UDf^1ho9aqUxobk(dOP#3?r#X`+V@2ERs$b$p87q+uPg9?ip4p%@ z3SPG?HIg{a1_@@I>)~t4K9{5PeL~lUUOc1TfozNM}nuBSuKPFmDO5Me^oEd15=V1#yDZBd><>gr(ih z)qA-ICddtjT(>;xAtAA`k&TI2_i^QYsSN47hgmCf@f5uVwk8)BJHs?JN180JVYYTG dkoc8a-!mGRdbCxEw3&KN=CeQ0r7yqfh@+rW>#5x$HrZf1)IWKplabW&JmElF>i6u|6ZLvX*;GG&IwSa?r*M3Qud^z6uGba zr`tZ}Fx@Lvb%n8xEr2}L8BK32fd}%ARt`I?vaWmp_q=;aFHc#$x(1q2_QWmX%#7{J H*AL(a2?7ie diff --git a/test_conformance/spirv_new/spirv_bin/decorate_rounding_rtn_double_long.spv64 b/test_conformance/spirv_new/spirv_bin/decorate_rounding_rtn_double_long.spv64 index 2520d57d674d9cfd4ba079d9457bca06f6dfd948..4ee9b030d02dd9b7a7b9d7a9263e0e4871273f5a 100644 GIT binary patch delta 296 zcmXYtO%8%E6ojX=fKe;r4{S9oiEG_JT$y+ouE18;oWwKeMZ5(Y6K6$p87q+uPg9?ip4p%@ z3SPG?HIg{a1_@@I>)~t4K9{5PeL~lUUOc1TfozNM}nuBSuKPFmDO5Me^oEd15=V1#yDZBd><>gr(ih z)qA-ICddtjT(>;xAtAA`k&TI2_i^QYsSN47hgmCf@f5uVwk8)BJHs?JN180JVYYTG dkoc8a-!mGRdbCxEw3&KN=CeQ0r7yqfh@+rW>#5x$HrZf1)IWKplabW&JmElF>i6u|6ZLvX*;GG&IwSa?r*M3Qud^z6uGba zr`tZ}Fx@Lvb%n8xEr2}L8BK32fd}%ARt`I?vaWmp_q=;aFHc#$x(1q2_QWmX%#7{J H*AL(a2?7ie diff --git a/test_conformance/spirv_new/spirv_bin/decorate_rounding_rtp_double_long.spv64 b/test_conformance/spirv_new/spirv_bin/decorate_rounding_rtp_double_long.spv64 index c4832c796893d45b5c2a634caf78b7422f3899de..3e8ad6e129d905c01f8edbe0fb5261478b3f4d06 100644 GIT binary patch delta 296 zcmXYtO%8%E6ojX=fKe;r4{S9oiEG_JT$y+ouE18;oWwKeMZ5(Y6K6$p87q+uPg9?ip4p%@ z3SPG?HIg{a1_@@I>)~t4K9{5PeL~lUUOc1TfozNM}nuBSuKPFmDO5Me^oEd15=V1#yDZBd><>gr(ih z)qA-ICddtjT(>;xAtAA`k&TI2_i^QYsSN47hgmCf@f5uVwk8)BJHs?JN180JVYYTG dkoc8a-!mGRdbCxEw3&KN=CeQ0r7yqfh@+rW>#5x$HrZf1)IWKplabW&JmElF>i6u|6ZLvX*;GG&IwSa?r*M3Qud^z6uGba zr`tZ}Fx@Lvb%n8xEr2}L8BK32fd}%ARt`I?vaWmp_q=;aFHc#$x(1q2_QWmX%#7{J H*AL(a2?7ie diff --git a/test_conformance/spirv_new/spirv_bin/decorate_rounding_rtz_double_long.spv64 b/test_conformance/spirv_new/spirv_bin/decorate_rounding_rtz_double_long.spv64 index 39c9bee0fdac2f3239f54507398d2d32f58a5252..407595c42e30793203fa89a9fcdbeb60ac6924a8 100644 GIT binary patch delta 296 zcmXYtO%8%E6ojX=fKe;r4{S9oiEG_JT$y+ouE18;oWwKeMZ5(Y6K6$p87q+uPg9?ip4p%@ z3SPG?HIg{a1_@@I>)~t4K9{5PeL~lUUOc1TfozNM}nuBSuKPFmDO5Me^oEd15=V1#yDZBd><>gr(ih z)qA-ICddtjT(>;xAtAA`k&TI2_i^QYsSN47hgmCf@f5uVwk8)BJHs?JN180JVYYTG dkoc8a-!mGRdbCxEw3&KN=CeQ0r7yqfh@+rW>#5x$HrZf1)IWKplabW&JmElF>i6u|6ZLvX*;GG&IwSa?r*M3Qud^z6uGba zr`tZ}Fx@Lvb%n8xEr2}L8BK32fd}%ARt`I?vaWmp_q=;aFHc#$x(1q2_QWmX%#7{J H*AL(a2?7ie diff --git a/test_conformance/spirv_new/spirv_bin/decorate_saturated_conversion_int.spv32 b/test_conformance/spirv_new/spirv_bin/decorate_saturated_conversion_int.spv32 index ccb5396ecf778de5b6ca94b46a8a9ac40773c366..949b331a75b51957aeda65ade55336295283ee54 100644 GIT binary patch delta 316 zcmYk2-3@|35QO(Q5RHQW;G^V8Otb=Q#DeU@7ZblRnm{ty-I<-abwJ+{UCtShTUyOMbp9NO|L-j5mD=4|GK;^FBToV36Mte` b|Hu=3dF629%1Q`bTR{!SYSz-5r`m!KL1qtQ delta 332 zcmYk2OAdlS5JYM^d|EW}%I#OQ2IyC&UPd&&}I}xChcwqBL=p4Qxsr0ePgQ-PzSU zu^XIXgI_My_wtbZg{o-{lZM1u_jJW&t_LpZF8qdLv)*R diff --git a/test_conformance/spirv_new/spirv_bin/decorate_saturated_conversion_uint.spv32 b/test_conformance/spirv_new/spirv_bin/decorate_saturated_conversion_uint.spv32 index ebc4b81c962549da6a60d7353c7a1232d2b0c106..c83a9138c6001cabca606a64407c989ab4b0c3f0 100644 GIT binary patch delta 316 zcmYk2-3@|35QO(Q5RHQW;G^VbwJ+{UCtShTUyOMbp9NO|L-j5mD=4|GK;^FBToV36Mte` b|Hu=3dF629%1Q`bTR{!SYSz-5r`m!KK`jqr delta 332 zcmYk2OAdlS5JYgws4 zYjlqiAJnm#Gqc#%kEC|T%t9Memq4eaPKXf@pPRP{aSx=WL}}tG8`zXM0`f>pyR)lz zVmCO&2ESaY@8u!+3sut^CJl+R?&*rlTp7?gpv$=ca!YI2L-#L%_&BG-gJw$k^XSgr{063!t8~^|S diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spv64 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_int.spv64 index a2c4ea1616e92dc7b3e71c2f88c1366f5ba09111..261d7da21e91f222fd7211240fcf8f8dd892a393 100644 GIT binary patch delta 16 YcmdnOwuNni$;1kci6$-^7ffLS05(4cS^xk5 delta 16 YcmdnOwuNni$;23!i6$Bw7ffLS05z8eJ^%m! diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spv32 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spv32 index 0cb6df83d73b6b1f1749e6e818757e3ac470b2dc..a0ad64d11582f4742ff08e7ebee18711ef7dc0a9 100644 GIT binary patch delta 16 Ycmcb^dWUs_&cp(Zi8?MDXSgr{069wrH~;_u delta 16 Ycmcb^dWUs_&cqOxi8>k^XSgr{063!t8~^|S diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spv64 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fadd_uint.spv64 index 756c1f56d59c6d8ce1ae6ae8ef07672cba064f53..8c88c5b2c37e54de61d9b24fbd2b9e183ec9101a 100644 GIT binary patch delta 16 YcmdnOwuNni$;1kci6$-^7ffLS05(4cS^xk5 delta 16 YcmdnOwuNni$;23!i6$Bw7ffLS05z8eJ^%m! diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spv32 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spv32 index 0244f5fbb2c3fc650dc53eab4fd1d2a7a58d76f4..3450f6dcdda86f44a3821c9d89b6714a08b2687c 100644 GIT binary patch delta 16 Ycmcb^dWUs_&cp(Zi8?MDXSgr{069wrH~;_u delta 16 Ycmcb^dWUs_&cqOxi8>k^XSgr{063!t8~^|S diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spv64 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_int.spv64 index bbed3eb40cfb4238c8745168812233c7e44db9ed..a201855dc2386d0f1e663e332f11094771b2c48e 100644 GIT binary patch delta 16 YcmdnOwuNni$;1kci6$-^7ffLS05(4cS^xk5 delta 16 YcmdnOwuNni$;23!i6$Bw7ffLS05z8eJ^%m! diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spv32 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spv32 index 1614552d2b8e70c2944d09ac20a26d36ae16cabe..a3bff0aac353455de7d14a4469485326f8d6952d 100644 GIT binary patch delta 16 Ycmcb^dWUs_&cp(Zi8?MDXSgr{069wrH~;_u delta 16 Ycmcb^dWUs_&cqOxi8>k^XSgr{063!t8~^|S diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spv64 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fmul_uint.spv64 index bcf14c846daec74f189801eab47e3c220a6f0094..8321f37f8588656aa689e02254cc28248dfde5ae 100644 GIT binary patch delta 16 YcmdnOwuNni$;1kci6$-^7ffLS05(4cS^xk5 delta 16 YcmdnOwuNni$;23!i6$Bw7ffLS05z8eJ^%m! diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spv32 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spv32 index 5bd6eb570a3dad29d95806f66a50a0d11b1fd3fb..58ab454baa5dc22db97ba4e59c1aa1cc8e8060f5 100644 GIT binary patch delta 26 icmdnPx`%aw&cp(Zi8?NmrtPI=?%##fn)i)mb!3Y3pqX)kL diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spv64 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fnegate_int.spv64 index cb30da01d6fcf031b7c526d01815daa4e9f710b6..25cba7fa37a896ec3d92eca3821817b2e098c583 100644 GIT binary patch delta 16 XcmZo+YhjyUGOk^XSgr{063!t8~^|S diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spv64 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spv64 index ded47aeae9e6cbcdac73ffe7592c90ab5c966ae7..9706e0cfbd8525644a84c623d2483adf3b279392 100644 GIT binary patch delta 16 YcmdnOwuNni$;1kci6$-^7ffLS05(4cS^xk5 delta 16 YcmdnOwuNni$;23!i6$Bw7ffLS05z8eJ^%m! diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spv32 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spv32 index e74c84ba2b9eae0144374a2872185f48afbaeab0..9ca74db1255462da791fc8a220a71c9a97b7dde2 100644 GIT binary patch delta 16 Ycmcb^dWUs_&cp(Zi8?MDXSgr{069wrH~;_u delta 16 Ycmcb^dWUs_&cqOxi8>k^XSgr{063!t8~^|S diff --git a/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spv64 b/test_conformance/spirv_new/spirv_bin/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spv64 index 4ed0e5d5bbdc3b86a6063cbeea7a526b25342e8d..5a9716a218543c1b142a75d1b410e7e20b210bd2 100644 GIT binary patch delta 16 YcmdnOwuNni$;1kci6$-^7ffLS05(4cS^xk5 delta 16 YcmdnOwuNni$;23!i6$Bw7ffLS05z8eJ^%m! diff --git a/test_conformance/spirv_new/spirv_bin/label_simple.spv32 b/test_conformance/spirv_new/spirv_bin/label_simple.spv32 index 2cd91baaa558ee8ac0df4a22b1f7e43d8253a933..338a821d6fa2c31e7e5179fc1e29d0d50e33c99d 100644 GIT binary patch delta 198 zcmaFBe1VylnMs+Qfq{{Mfq|Vta3b$xMFj>H1`Z&X6^L1YSP{tL1kylNU~!Jgij2y- zAQ5v0X0Qko5}OOi{=vY+zzw8r8Q8$4@Judb6p!Eqitqq22)F^oL3Z!~F-SK^4kpGA gWP?lriP-{O0CIx>5QEg(0c`}ygZO`ej{D7I4nMs+Qfq{{Mfq|VtXd>@pLs1461`Z%s0f<3B0m$bB(yTxX5?2JWxPUZJ z7g(HgvLK_fE=a_jff+2qgv90svVSlzG4KFsTLw0;DZG;t8O0;`fFis=3<7RIagZJS nKn&6il7oo}0NEf@Kw`E~w+RB-AhmWt8$t3Q{$HRcEPxmQ#iR@2 diff --git a/test_conformance/spirv_new/spirv_bin/lifetime_simple.spv32 b/test_conformance/spirv_new/spirv_bin/lifetime_simple.spv32 index 05fb5be21a14c9422a18ab641e13dc8ebaf4efbd..75a8ef6363fce89b258b93dbd2ed9edb1ca98830 100644 GIT binary patch literal 720 zcmYk3-A=+l5QV1{L`6je#J>xSiHY%EO$=O0>YY!}pw`%=P|^|}z^C@c#Pe;t36o6c zXV087yA2yRZL`44+IFcg*0Y8+>)5K}j^dGp4%txN6`mfGS^AZ%(?t@O>0*^7))Ed( zk(4eE!F*RayoK_a6yUy<6C+I!>BHNRU%5JT^{LA{F27SA$K@(5Ht{UW-{)Dh+~gng zb($}u&uXVvvBAe4=%YK-SC_T192=?LRip=Ita?uoqd(B}zG7dIeeUb|1LYX_Lq&8d z-lpED%BiolZC8<5aNeJ59qx%ehye_5i81r2jli?N&)L!E+~-%P$BOWw+moX^kuLk6 z$kBiUdy@|5eK}{?i+bn`-(!DjtuyuD;oO4I?MOP6 i8vAlS5gU5va(clQ&TC$%4>y`qaZ`i$dVhMoC;2}Bn)5K}j$+qBhioW65}qEDdG?jAvw517*?gI&))EfP zDlJ_eg88m;cvs3}DZqUzCr&j%qz`XL&OWiYs83zqarvF{Bq^8KYLmoy@jlC^i%sz{ zTW7^$`dRJtDmM7o1ATOd`s%V4$+3~@T}66eBGr3}82y2!_Z9n!?8E$lVkF1z>-w-N z-F#O$x)rXecdGcQueJTLB3$6SKi9h46MGN?n7~!$W*)U6c<$qKcJ?{<`_*Yr5k7QJ z9aTmlj-qpmwQGz#r!GtYJGR%-+IeYLA`R9z9nE1Y-JE4=J zUcIh<{kk$F6ZMQSE5?|Nxz;bMU=k)}bK2%r<(x^zoeAN*DmYI1VL0|igXneOb)!zu zd-Hl>&>v2RVbJltei%%>SrCQ3uimsYI3EorF-{5(g9Xo>(O?|&+#AeBrX?rbbE$x9 z>ohgIjGL_DD6W%ny&L0fjBkWJZ!#W6bFbxx-HzW5=3%dcv37sq{n_f{2`^>UYsysx ztD<^c8IJv`>J4QUd`W)rP*mPjzP0DKgjuf62{S9s=aqTO;+~Y*7UnI~HKBqsTJ#a{ z#G}2NUe=vd=tGyqxqG?f4DWFm-(WPDvBP-yR_Bf~+W06c(06so)(uUa_m*vqKI=su z&}HuIv6|x0VFvVZCmdSK+>drE;_yIjs1vO{1-+j-!)*60ht8LJ4wMfSX#c8apKkyj zEwIx%7DnsC`aBVaR*=lO5o!+F0F=1$&(4{Caxk3W4e4~l>Ix^ROhZa|=TrvP zR5v-egqxCVC(FGoU(4cB7GEe1fateJpBvuzKnBa^Tj;<&&$f$9ehjj%$D~}YXAHid48a1 zMKRpeVbo!FRtvS9Yq3xVFNeMxsiuedT+AHAaIkY1qv1=HtMWB%IiD}rLOASw1r-O06#;GF1Jcq!3=+2kssY)?55!DB%mNh?n|zT;n^A1?UnXxL z>B+3jC_Oos*<2Q+wgIRIWQGP1s{^qb5QEK`e2^KW=Pk1|kmO`h76qwx1F9AT(mFs4 LvO#LHBa1u$(o7bK delta 243 zcmaFB@qlB42@|I+0~-S;0|SHTu!Ri#`ILxVLxH z%es*Yedw|{cPp2i;XMxH8;k}sb{G%e>fBOB8y{r_`mV0nx~Zx2-m0z9XFbUSy3CzD zR!bZ@%z!@bghOkQ`_XPq93IF`b)vPSp!ZW}nC-6R(D_o&p7Oqe^{bkFz5#f&z)tH> z7_ATM^GFzux4&ENSQ!88J&0p|o`Sit=d|j=-a>sM%sZV2~1Kx{oJd&O6 tsW2X$&Y3VA-%Lv`*n?Y~7jJdv`ETIEdA|_mPTqtMYI>ZHKYcNGihsU=J^}y$ literal 1044 zcmYk5*-ipc42CP9s30z=xC`#fy_y)f)Zm>@Faew>3C@slx%R>r^5u-0nD~D)=NOul zw*P5+{&o)e+-}iq%*={*qF-d*a#nD5+}R1)isjSHocviU8yJ;?I35O%VR9b^-J}!s z9)eyR-SwaQanu>KF`)l}6s)akVsH_* zl5``D^J%=C`lZxAmLCL9!+!D_To2-IXV8vb<6Z|s?YoTgjq495xGX82l&wpVn&K&0 zFwX0Wr)3fFMe%_{Rkkck{ful~ik!N*l7;{AtYUUXzd2cE%jyc+J6|D-8}b(9)0;e$ zJoM6WAs0DQ7xL(fPz9j{x7ryVcEuUWR>Xq%^42)g8IjkX{+3M0OVeE59${soMy>=b$<2}X9>HF-< z2P4n#0L<@zdEpI5tnb6yhokRvC?AYB)DjEMz()7QtiJw8K0G{k{ukWIw}J;TIiAO_ IUeJZ~4_XO7)&Kwi diff --git a/test_conformance/spirv_new/spirv_bin/loop_merge_branch_conditional_none.spv64 b/test_conformance/spirv_new/spirv_bin/loop_merge_branch_conditional_none.spv64 index 14483d808f825eae636cc872e8ef50fd388274e2..7490dd63bd65a82209f22417ed0bef45590fc4d9 100644 GIT binary patch delta 260 zcmXwzJr2S!4255QfFLCPqy}gO44t6eD}<=T!otKMxBwS`J7ne#tjw@*gIGDwTx0$@o4^F_%Mc{4WF7WJQLg XhJg>t=7~%`uwz7D64{W3ja~i#@W~Zw delta 260 zcmXwzIS#@=3`IQ)FbIiF3M3f;MJh=82q7ZT&`@y*F2Dug4pVanT54#xK`uhi|0q~` zUcNo{)UI~-LSMGhmad3IpaV3Z9i=4>aRS(*y&7$boO%yD8!bjoo!VKf^br$4eS><8 zm;&DT*Is1)6DllWa{%}O3#j?<*17WGqYv;qlc^+}OsUdvGamk7@)?%M6|+3J0!uIi Xl^DENHjB7lqcG_D-Ykeh-&dMRtDf3uIE`^qcoZyn-iwBlnCH!4Ha2ak;Ef9zTu0T! z@DgpZvcot|#_>*!voXFF_Ppt26wST1ANIO_Czyx*E}}Yvh3+TYA5CbfC|;AV$v9QT z>+*2i*A#EabKuL;gNBm)ru>bq&k1u}oEK(K)EDHLW${kRYzZ?9ab2h=PcQN?c{ImvW=VCI`dX+On=U^G|-p5 zbH{0kqYpbEk2m4ywaoqKwki${_@*-HwJRg{Q#I^%&vNwnQqI2ofsDC-6?4xw08cNl z>vbeduMey9SQw7k-z|3{jDGGO#j(GdjJ1n> w#Jj#{!f14T&V}LlW?E9g9o+K1nAO$u-#~}cekshG%!CeNa-5DoZSG$74@qi1@Bjb+ literal 1048 zcmYk5$xg#S5JZO<2>ZUT4*PNkB$OOM;l>wOCRkv}*pWjxbKr;gIRr>Z)bq?BM(T8R zO?OXqCkbl1bz=sMF?DmIPtL5VnL+1=oFA5-GC`GD6P`Ac29COvlUIn`?F!OlHK!>2Om<(t~FozH5ao^z`=*u|o30YayA zGqQVlbTPxS3~fGMadAsMxML^uMFSl7|G6*Su8KnwzUkgs6DIdvHSB&}21lO{ee!$Q zl(C0z#oTYn;OPbSy|#tv^`>5S|HiASw1!RN7L1INfJNbaLGy{Vi14zOSs0ic$ejo-}zycK$n|zi@ zn^A1?PbP05>B_9kC_Ooo*_=^y@NJ`7MskA_f))J|Ha##2|5NAYTYbO93&+4j5mWfk6%|UwQrM(N2vnY@9dE3-1A`Ne9dNM1EvM9(5H=sU2Agu$$ MAhRSU+p@?50G;6#{{R30 diff --git a/test_conformance/spirv_new/spirv_bin/loop_merge_branch_dont_unroll.spv32 b/test_conformance/spirv_new/spirv_bin/loop_merge_branch_dont_unroll.spv32 index 799140d67c938e68a44bfc31cb79812f1a907dac..fbc355f56ec40ba6b2eb521269a1bcad0ae0769f 100644 GIT binary patch literal 1024 zcmYk4NlyYn5QSS7QBe^AaTmlj-qpmwQGz#r!GtYJGR%-+IeYLA`R9z9nE1Y-JJLx} zuU>b(T9{;_mN90@7?UyA`sL(J!lbNETfZ#7X_E2FgmBJe4IG(%7>>MQKYHnVov0mj zU%g%!OuT6jg}$%*wDQP_`r{ZUg$Kc$r%u!##XPlw>CiM)9qkJlTua%+@M>0-jX8|t zWE}6rI2&VT@VxP85Y4=%A9mV)E0~4d_GAzSt=_!fC#z3S^iop1B43el%8FOz;kd6T zUX$m*7u63v6y(?CZ*2aCFvrE4!t96qoIJD4>!i$h4S)f@eYH>9&Byia&D!< zJ9IhZ-Kk4*n8#uI2BX1_9j1pbz1)^Zn?4FM^j%!Eaa~(y-ja>c=RB(iblE$1oQ61b z*a7dT35V7q_pRHqIC{W;>gBHdo{T*1_vN|A*L6>=0~uN$(schn9Cd#5%lB|3LyKIn z%RLq*_uck=A`Hha-Yi!UW*+Vy#j($-Z2tfMYn@u&Y1b4px6?TjhU1;v37p#r^D!$u x;+@X9Fg-dQzI`~pp@zEP4sLOO%aV5$svf*ttzgWQF{WTH^~+f?IWui_-s&0YqVdwqoa~ZWFkn=Maoi7jo#dqxJSDB@ z`88Lz$=9+X}Th8XoxKPh|)E(@iELjK8N$ia5 z9voiGP?5mR`J2|iQx9V7guZY9BR+|JE4n2NPUuf%ZcFb-s3XqX6GzuAk3HG+`cO~a zW?urvJwN)zKakLiT5MPA%ck~Swd|)V@g?l$&0>eLnU&bRF!o!MuvcQP*OA4Ye=MK5 zT_3(_F!J0^z}!xlk6Gb}c70A|!_oCQlMTiASw1r-O06#;GF1Jcq!3=+2ksu7*Mkx7_QZ1PbiZy+hiYz-uRnUxu( oCl@lCGm1`L$t(>dk1}fm#XkbsVv~7Ulz}3KEW(UZlU-Tl0nT0)$^ZZW delta 191 zcmaFD@q}Z81{0?(0~-S;0|SHT|;XtPK?Z2xLo7=4DX^iWss8GfGT$WswH}Elw8; diff --git a/test_conformance/spirv_new/spirv_bin/loop_merge_branch_none.spv32 b/test_conformance/spirv_new/spirv_bin/loop_merge_branch_none.spv32 index b486dd7bd7d7f3e6fdea3319eed06f6477df5f09..a00b8623bdfeed7b62bd9d793ce10f73b96c1b16 100644 GIT binary patch literal 1016 zcmYk4%}xSA5QIk-L_|dd#D78jjdwLMaFpQ9C)faPlmvFkqMSYWLcW|)6BFxOW+Ia` z-CfgNQ{AkWYGjRBFveufg?>3jlQL=RGuAK4uNg0?OerpyoB^YA7)4`$6vR(~-;29p z|Je_tFfb;gdTQfflEj|kK{&(VkArc7^G5hOGHtyI=cx>=qi%9=i8OiHUXpuBzL~`N zBu2aMPsW3I>bHkcuRH97)2QEl8AM^{ai;U$@}mhY73E9vH5sR>JSPvveNFkYJO{ii zJ!mM&ugG88{#C^sm#-;iFZ37WnPv7)+N>*P7V^5HqC8yGVc^)UeVba&l~|~QmqXvR zRMNvdE=D&o9PHS|X!ug)hCJNpD9PY=dD-SoZJl{5Hiw_{APw-cckVbXVeqg6>Ua|j zu6gWRw^dqDIG{|DopAN}$@?91Sym)P|lD5m$_ z>ONEq#xCA0R#VJ8+}#OdpLN;n|NrMYvbf`JC}(cRbF3JQI=2%rw-e@LRy5)r&xv9* qIv&1#FutLdRB#72zdvSm{b!2N;k2JC=1pco2RSuP$FIJi8`&Q)!8=X> literal 1048 zcmYk5%TB^j5QdL{BBJ00#JfejyH^tfO9}3Lf(Efs5@<sdMjJ&6KK^6h8 zhz}grWEW-WUy}8t$c2qdY4{(P6>}%%Ez7c7+LzOki>RJZVwJGcBo0= z=Hd+-w={zsH(@Ruz{pQy-^y+ZgA?{sm0PmgQiMG3o;DZuX>LJm*Kh z#QRca(TneTJ^A#$tC#!KrJj`Ayjko(KD&~;6~=uVQtnF5%{sKWi;onux0}N^4Mv^2 z37ESH`>`t=v2MASw1!RN7L1INfJNbaLGy{Vi14zOSs0ic$ejo-}zycK$o4l9F zn^9~sC$lw>bY)g%l%AZ)Y|bb;c_Fhjklf3x4HSO~WQ$E^WlE+s#D#Aj z->|dWhdw;F_TI=yQW43(7+An_kwgOW5^%=z9^48w{RF%Qm!qbqyNQ=6aslXT^b6z? z@Qr^TMb$R>&zoeNnGi0RtbwD_55uuH8br?nuNQTL z{);yaqR{tsWzwo4KN?J8oD?1gbDlS%!8qo5Czy^*TQAf1Oa|9cH8H$|nw)Guj+1e` z72{lt(eHVa@i3ZsZ9nXF{Z23o``y=J7<8WIS|4nGG@+%UctyS@<5U%|%ENJAQ=FCO zz?Y>54JG+C`72w$F3fRpUYOlbUyx^(`8z4IAy~xAhu{--VxtwctA&TaZx8s>2r-C%mKV~5f3rOZuvdZVKxqrZ#GHg0O`%v-TB{W*`)KwtLG9j7IZKJ0)z z-h`vqBKNJ^syH;@Kb5&HzawKN?sw(6$2WD)TYEBkeW<7V|KWJ&N56az2Qqq53wE`K z!qmQ7-ABT3?BdOGHDTuA?p_@Gtjp&A|9`Jz%e&qU#mw#coCw2_=XL_;cEWtjiblNa tb1IBR*N1N(j&GC{{A$~`vOl)JJUjpZ literal 1052 zcmYk5%TB^j5QdLjL{UKn#k)nkvsV*?O9}3Lf(Df+Noh$D)-HS@U(TqBiT~H0V>rol zX8yUHf2M6V(jH4h>$mCT+e%u=+c2;&jOmXgrd&30ho^U)cZQV@YV+mMC)%f5dY8E6riJwjU z^~7FC>@(TEKN|MqiQf*Qhi=dbC(&c~wI79@r9jd~DcC-j8_81ZTBThUEna6*47b4z+#!i>au_r%dH%VSqIy*|{Fce5t} zvd>x=O4*uZr6uz z8jL)*6EL?E=3`bkqFtX8*>H4yPGy7fP2GqEF|g_VF{`WRzkrA1elD9kd3W%@C&%&l I)wZuBf9i-n6aWAK diff --git a/test_conformance/spirv_new/spirv_bin/loop_merge_branch_unroll.spv64 b/test_conformance/spirv_new/spirv_bin/loop_merge_branch_unroll.spv64 index b3bff49815dba7ee844937c7f9d19af4bb0e7b14..af93d9bc834dec9d5977ff36a6bab6df1721e0a5 100644 GIT binary patch delta 241 zcmaFB@qlB43X`Ta0}F!?0|SF75VHd@j4uY|+cK~*a01!llXaQIVASw1r-O06#;GF1Jcq!3=+2kssY)?55!DB%mNh?n|zSTn^9~sFS9j} z^ki0Ml%AZ+Y%U8@+W^!9GD8!HHGo(hh{5JeKFF*MRQ;A&8c1@oD2swry8%@T0%=_! M2H7Ar*^xya0B2McegFUf delta 243 zcmYj~!3n}Z5Je}ut0stwLQG;14-r(vvxlJIMaaQYyx4&Du#MP)#6r@5J@`g)aN*70 z`SY1+!X|t!O>~g1L?ROVi%ITN{eix>bR!q!)-c6hg(G1it=_lw6dVhW1 z_D6Q;Yy<`zsK?ybrV4UDuqCy!MUeTc-On}sAfZ<_u!a@2naK;pARQn%TcEih^Z9@n YBwh#Q^Fzh#fHr`{LHxf!2U-9z0DPqi^Z)<= delta 194 zcmdnNe1e&mnMs+Qfq{{Mfq|Vta3b%0T~P)W1`Z%s0f<3B0m$bB(yTxX5?2KBxqviK z7X#;HPDW)#5YL=}8LWy4$o|2=#J~-tZ5i0Wx_Bo0GKz=r0!4U$7zEsa;vh5mfEc6$ gBxeh?mmex#2jvR@`5-Ynpba4PApT#VgDrp<0Od*xL;wH) diff --git a/test_conformance/spirv_new/spirv_bin/op_neg_int4.spv32 b/test_conformance/spirv_new/spirv_bin/op_neg_int4.spv32 index 285f898817e2d7fae1ed19b830bc1fa34fd318bd..48414147aef2292cd2694ba02e7381e3b33d0b08 100644 GIT binary patch delta 194 zcmcb?e1e&mnMs+Qfq{{Mfq|Vta3b%0U2z5$1`Z&X1&S4bEKVSs6^KFNiao?wy{0^TG zgYQepNh)=G#VMUsXa%;&qJh_B^9s~*R^$aTzk@eqrl=avuJ4R43Uig`{*~93oV1*~ n;yAeGvBQbT;*M`K_sBZzE#_0Qtuz5E&SiSL&4_wh7d#(%G diff --git a/test_conformance/spirv_new/spirv_bin/op_neg_long.spv64 b/test_conformance/spirv_new/spirv_bin/op_neg_long.spv64 index c5474441a94fe7dfc08ddc00a7f85a1f5b38966c..c0db13e2d56d808a57ad6c4a89f06dd8b30a4249 100644 GIT binary patch delta 249 zcmXYsO%4G;6ohN0n_(Eg7a&$Lu@p8e?Oliq*oY%>7gw+#@l~fgsqT7TrTe|U#cyar zxvHc>QlQQ!3L`(L5ij{avVqQNsMSFF!Q%FgP|ESb}^Pp~eVTcdNnb$er xZt%{$UYU*X<~4d|HpZKqonW49g8UxYmPRp+GtI#z*E4FfBkg^`^^bq<(H~oh4Fv!I delta 265 zcmXYsO%4G;5QS^Ho55)RmJ(t)Yr%q8*}D)Iun|Y%F0Nof;(M(td8zl4s_OpuYlz-0 zOS8hvN}Jr`Ydf`IE#v{H=IA!P0pu^x9XeCVuSo*Dy3dOGqGWA8B@X^JXI=WvnrTCX zd!S5p%F{i#GSxGCeYpGzJhC@{%a?b=)60fH`^Z)t`age^gLBqnw7fm%H6Z=v-y84) D12_$g diff --git a/test_conformance/spirv_new/spirv_bin/op_not_int.spv32 b/test_conformance/spirv_new/spirv_bin/op_not_int.spv32 index 892fe554196ed63c79e8df42eb55ca912ae7e120..2e6f997bad3acc02f7129bc9f7bc7d8972bc1d6a 100644 GIT binary patch delta 178 zcmX@Xyn~sSnMs+Qfq{{Mfq|VtU?T5*Sp^0b1`Z&X6^L1YSP@8af~6T4I3`OnDl39` z<_yeWRZKwk4+bU%E+B2ozy{XEJvo+9JcI`*!VSbA;06>2naK;pARQn%TcEih^Z9@n YBz^+Q=ZA{f0c`+@gZO`e4zvJb0EZ0=J^%m! delta 194 zcmXYrF%E+;6hob)Eu@eFL&XYW?o1aL+1R)k;xZh8Tl5-TD%D2$lJ)bP@BHlUaKYIw z0Stfy)fzspCoV{d4W(+xp8ZP6Z^?IdrrnS~ol}-?lsm_rP{ zFC{0b)cGAh>7qg#utgRPyd|4gpq8^DuaNm2ydyJ3)p&J%XLM6osyz3vy!Paz_0ko` l!8NY~PDB<@e4BYh)?sfc@2#^xWj?{?J=kFN#y>uAM}LME3?u*m diff --git a/test_conformance/spirv_new/spirv_bin/op_not_long.spv64 b/test_conformance/spirv_new/spirv_bin/op_not_long.spv64 index 671a10bb27fc799c09a7962eec0cd8b4c2d6e312..13719ede247ba409209c2e6211596cb9460519f9 100644 GIT binary patch delta 249 zcmXYsO%4G;6ohN0n_(Eg7a&$Lu@p8e?VZR4Y{ZdRxQQ!Rkoc<8om6+duhRWqU*k74 zpo1(oq*(s!?#D7$3zTy*^xi1@74!z~#$3;^}2WpnYU34*j1$%E2@1F9H2LEksd0XOVf z`|Q2;I%`Ig!dWSVl@LNHobWVip%7McEatcdRzi|73)Iz64EEfd^atrBSY+;O`Zmkz zgnHOt)ap&CJ1DDpPKsSNMEmNM$>Z#tWaquCE@$-xb(+p5gXui&49CyCVRtkizx3V* z<5Bl@;pGuE_4MKW-rMBKONKUSv^cMW_T;oVZ-9pV2HTrp9n_EWEl^!|PI0phIByAuDMaZ{$j0%SnKzjX$8FF9{p5FHQh0u(ACEd>CAYbr*4f@&zbx3 zc1ip0s~@@b{JhL<(6b-8pXmB6nxs0;e^K%5Z_^_6YyFY?+NYK$|A*NDC`WGO9OiR* k%N)61xYqX(sg~OE-H+b=kLXeF_uT7Qe)RpvSHB_u0bIi;KL7v# literal 752 zcmYk4+e!ja7=^b^W@TxnW@n5b=(dXrqAnA=>j}gTpdcz5K0t5O!vz%tecw16-0;u( z59?oh&1jN8D~6B@Ar!+2Pfs=E!%BvQ3|GN&NK$5=yb=n*o|}{YpnC}xm^+)k&C)y} zANCiydQc{;}utj*}Z-L%p{}gv+ zP_F$Lx0$Z*<+)-*PA;wdo*`W0K)!xsuBVvm|C?zAyyG7IZ4+v`<9R~Ycc~K2JP-8L z-67O-=DvPwgnjqbkKB4zFLN98>__e=x_%pf7j>NfqGH`7_6Yr&f57#=eL|l6A7%%j r9J!Hmn9b!abL4*UcIx=QP)lw3?nm#(NmtcU@a%r diff --git a/test_conformance/spirv_new/spirv_bin/phi_3.spv32 b/test_conformance/spirv_new/spirv_bin/phi_3.spv32 index c9c6f65ade990c8377ad327ada96f1f43a035974..de55f63ea7e3b6cd3015fa725ece0cd15b4cef59 100644 GIT binary patch literal 840 zcmYk3+e$)F5QbNpSy@`C**Pr;qRXIysLRCedIGTnD2R%N56~O+a6tt@-?!Zh9GE?) zfBu<0E1NmZhp-Sr$cGcY%4W!f#nk3fyM!%vvbt#wJ)(b>ej|@lf=*B z_q#J+zA=6iW;xGLZHo@AdHD+HK@w+^csub6iGPmYZcj$N@wDCS51%{z)?hk(>Ad%b zgVyV8mq*y-a}Vb`x5}5F40Tkg5ieuSiK!E>U={Nfx>vDftovM~{cHG&_;svv3)y!%Gqoucpl-&9N3JLb6G1}djL$`icqv58t!9>~eN zh015mesN{gy#4Y=Y$c87u~l;BBlZ(sZ{xejWBnHv;~Khyy03o3?&6E}eqxRH(0x>_ z{zv)`zP&i{KhzGfV#G$wQCb%_k8yUy9H$ufo5#ra#cO+qI_f;<%jpdJu9{kAFp|X{sYAlE@c1! literal 856 zcmYk3>q-Jq6ot1lnU$rPn%x}}g6L;ZLDbL0{`CZdT|hxpG<<;GsD}$G2wLBnb6^gv z*|)XV-g8bIbxURiGb>qFUrx;;Tk*E&?W%0WV#kc+SFLE|=$s8l>7{H@b!zjsh4W+i z<6-8bH<#a&GMZ-swyzE>dGyM{k&9y&?>fKi{B!wfx|ogT%d|J1J`cwI$#VKKcpptC z{nu=lN2#I59?WNMQ(yh0B?70VcukfZoJ8@uEQfqU-5auXS@xlSQ#KJe7e3y~Lf2oB z&s=yNZCjP4mwdpjpTmE0uG9gi;3DqS>{=VaXaC@{WAOQ(Z&kNt?=**fYXX||aGs>g zzwHRrI1kF9TNluyMnC&D1oHHwAGl2)=efKG`M~{@E_c-u(4qb-72-W%UtnMSz&(%; zm-~ZDd?@hlaPdE+%WlU4JorDVoyfw08#rxWhnMFtJ8%-uVZS^Fy)V6f_HNlc=A+4s bL_jCp$*Fw)ojbYLj>H|G_Snm58f56>?Y diff --git a/test_conformance/spirv_new/spirv_bin/phi_4.spv32 b/test_conformance/spirv_new/spirv_bin/phi_4.spv32 index 7221e5ec18c12bc397f061c33399fc790a0a5155..45e74e0e2d433a840156d474c0185f5a62ba5e0e 100644 GIT binary patch literal 928 zcmZ9K+e$)F5QbNp+0imJJEvJebQ={!T^4rN6Nnu^K~yY!fZnKw3n~cuzTI9REg0vY znScJ7wYJ$zBOk(42q7Pi`1KS+CQPS3m--oeA!HL~2D}_{!JM7LPPcW6&r!EFdVWc8 z7ToLnVf9AfTa?vwmcB`c-n@DX*me?UlXxw`3kg03w^}d5?r7Y)?F}BkMV+T*!L*FB1uHO~z> zbyqRBKOJG!&lHOzkX;#(hreN*51n!6j@AK&?hf5`>*3(zbzL;wH) literal 944 zcmZ9L>qZRO1}W|p^8{c_5dwFPf;-Y&`(Epp7P{F3F29G#?2sZMSDI&pp^ zf6$xx=#AyKrHtl@fbFOQOCG&~u;=2)#hcDAIR8w3l1xVZ@ib`<(x>jAGn}T+-M4-^ z?7Yl&d5{`?bME7{S?KzU z@|g>-sclQL^pX#_@pHH*=TaSTGA`mx&91Z&eD)7MI|iToe5txFd#gF@TNcoyhw~_1 z?zSONEUZbd+k8vX2B70A<%e&E)8JkRBOkPqAs>GD=}0Uhc;QX$?FwgvXZ58NI3 zaCtwt#Jd9D9WMU6blGiRfCv9uwF6l=a092|>+t3|%nmbS`Ro>E5;uiI0X_Vn*OCtp z{=6RCz&Y~u|1;U|Q(u+cj|KMUKJ3WOXfum`^uk;7|G=B_)_1x)G5zHDCcpYCxfcEa DT0J%f diff --git a/test_conformance/spirv_new/spirv_bin/select_if_dont_flatten.spv32 b/test_conformance/spirv_new/spirv_bin/select_if_dont_flatten.spv32 index a82c609e246281bde376da9a25da90e00c5aa6a9..e454917cf9405ac9900f826760eff49aa329c608 100644 GIT binary patch literal 824 zcmYk3?@9tu5XC1~GqW;Nv;P@E5Ph#8^kZV*dVqPET=7oP`8UJoDTX z^;^Om_}lX6CCO19wNVV;Q@E--{V}dupg1sE*ypeTzpA_|!T6sj$;=d~&ON>iW`U bw=)?%-A?Di%*9Rv%|Hyt?enYGxtIL`6aO&6 literal 840 zcmYk3>q-Jq6ot39%q+{)?4A+?(f?Cm2je5{8-3!3XG#db%zUw7xTQpaXmM z<*c>#-g8RD%c@zy%&OMcm(#SOm2+Ro{f2zQN)B06ylXY126Gig;WP~v^I(?5X)uo_ zX&T0672&}y!lHtc<;Hjfumz}!2&ZA><(u-YbV)|ydvi?`5Pu|z`d-7<3^Y)PUWpB={6u=Z*W{z{G3Bj|EkD1xW z?DwVHru;yCn15e}CLGSQblJ5fPjx(&hw~#mcPBF5on46E#bcH;863Dn@zACAEgTx);d%VIV&BK( isr|>p8>lb(7cw;cjy=W9#g0SGKn}+5_p8^rm;C{@bun%L diff --git a/test_conformance/spirv_new/spirv_bin/select_if_dont_flatten.spv64 b/test_conformance/spirv_new/spirv_bin/select_if_dont_flatten.spv64 index ee6686d667e4b660d13572c8c7983c9856fb48a1..913b327eaa130f00e3b94ea653480f5a42786771 100644 GIT binary patch delta 274 zcmYk0I}XAy5JV?-zz7jOf?z_BDBRIfB9Lgf6BUPWlViXc-~!x+k{OdoSbEy^?0D9V zYux>lRR`pl0+(aw^AL^d7+maOZL(W@@zHFUb?gkwF&ErSfZIyN30c* zZb(i#@4CJJduw0^4Lb9Qar)+%Jh)`Yx*-a!=O}ymG%>47enW=o` z@1M@_Xnh-)**qjsep@I5y_faO6H|~L!?V${MwfO$n-X(ypq{3ViA#_kK^I!@s;U3I zh1uTJXw3({%&6C(Lr#oWK7j{IN5l H!qsiR$HEbd diff --git a/test_conformance/spirv_new/spirv_bin/select_if_flatten.spv32 b/test_conformance/spirv_new/spirv_bin/select_if_flatten.spv32 index 4e53ee515294676b7a3315d6abf5d03f4aaf68c6..5f42dcdf7c1e30e75921680f32b25736152f093d 100644 GIT binary patch literal 820 zcmYk3-Acni5QW#IwbiP%wzdAZA_(HW3esL$;+;sRBP@T#r&ik2&a1-@d+D_Pfs@|0E$}`V(Rlg<7 zfxj(JpHjD`cPcUQxu$K)Qwz`9ebt9OIX6;(!+Ub5xz$AQncre&w3vOqbh|5$9(_A9 z`i|9?`S)b>K!fw7KHPU@+;JY1qfbwUK6li^>&wVfPe04$Ul6Zy2a3sC?uT@Fy8{_I z+<&UWp*(y3NP)W}*|CgW!0*+J{CjGsov4o8$bE~427Kx)|5Vuav3zo?eCo#P%Wh{f XH0@49VP%WB2*h)OWH!^(ii_ literal 836 zcmYk3?Meb+5QRrq)3Pj6v+q`dAo^cH=+DIdbp?yrO2VR{ix2h-H{|OUIA&4tu2qd1oy$0h$7wX3M3ZEcrtwU* zvbgXT@zTYC;^Zxh(OxJXXbSpQ0)D6tJax2d!l}yxmmj#e=HhF`QM7!YE>_VXnZJyZ z;cPV@kJ9OUHhj(YdXgG??7@8Iw)ND(77AELc~zbooKX3uJVw2x?k)MIJp0hUEguTl zO`h*$sq3#RW^TqS>04#`A{|*%dJg;ci5w9=(Ys(ct=0`wgu|+qwl%=3-WbtM>%!RGS+^#eRSrV;eRk9J|Jf4QLkE4h;X3{1l-&8qn7Sppw2ZIp;CLl_=0MI>sl>0!kV@I7TH9(4`q2k_9Njn^8J1yl+gNC5B5P&a_S1q0CUZom3} zH-ksN-!1WD37rEbpK+c29NdvPMcoO47?SDBo&rx$b*ma&5xUvWsa#=lZCo^oUfliz D;Pw(_ diff --git a/test_conformance/spirv_new/spirv_bin/select_if_none.spv32 b/test_conformance/spirv_new/spirv_bin/select_if_none.spv32 index 591624811f9b952e285d58bda10cbd7a650353d8..be9ffb66141d0c90923ddf888d0fea7f26986bea 100644 GIT binary patch literal 816 zcmYk3-Acni5QW#IwQAK`+gkry5d`sG1!*rW@y;g*wMGntM3T}6@Qr*re?ahjo2+zU zGG}JboSDh`-g(2A6=O`p4E5!-jc00=uUCFme%tt#=?S;QCr4!wCDCji#xG%-rI9gp z@!;f9VX-fqyp|ZUNB>cf3U#vSKgIr?;E=yOLsyq=6a_4IRG-hz0U+gD89aX+NXzuT9g!~Lf^ z9LRHiq`=*w>`2Bg;P+}q-kut2$EssDa^K>i0iQa@KM{6)9G~1WpSqFyvfHT)O}EoP TnAzEBtQm;mxP5;0I=8YvL&q&_ literal 832 zcmYk3?Meb+5QRrqv$8Bxv+q`dAo^cH=+DIdbp?yrM#8ciDqcW$)YbI?LFajQUvS{; zeC(MsGrK|gqGnbyvzqnv#F|#NO5v-8Uz2ZG;Fx8_JK|HLa~>!0WD!kYqclrnv#NM- zX7Sv`f#T#XkI|he9%=&GmjZsI4m@>q>%xi41DEf+xbEUB#ZfeWpU#%iFv*_B$tYcB zlksAjrK6X8r$?!w#~#dQZbwfYYoUO3m9NWFgA*#>kjJRE)x9a-l4l?Kx8y?syDswW zJazpI#mvol6@8~%pS-8-cjeK7=W$=mYQbCOz1bbh))9@D6)W4c)eY9`ER9-;O|?e)K(;e?h*=?JB44x!lC<2LdxcHHU9` zD4+}fOB0Xev0w3dcP#MVxrO*cee7~7&_nM)edtpA5f2Uc^m+c7Vn4_8sjc$q>uWCh Z=K`Ak#!xZ0aN|Hbki+r!{ps)A3IDM5E*Jm+ diff --git a/test_conformance/spirv_new/spirv_bin/select_if_none.spv64 b/test_conformance/spirv_new/spirv_bin/select_if_none.spv64 index 32f4248e65e2440093304b2dd4b0747613d1f2a8..3719f76fa7b728309017306455b194044dd90ae4 100644 GIT binary patch delta 277 zcmYk0u?@m75Je9=jsamn3L!uW3QvHj5K2mVMqvV0h~!0J0t#r@h7tJRiV-J0o$vqi zw>#U}+h@=mC6l>`6u^Q;av7p8Kn@gOoyA1I#F-xJ6?Uq)K6|HvvIGvCpv}-%Km&SA zo}jM*btY#Z?QZ({f47E4J?*wg<4>pHjyJ|4;h~ISW*y#Y?|6e#+zcb_UG#p+LHm*k N=~a(2)2ndN+b<8561o5Y delta 278 zcmY+8yA8rH6h$vKi9x~wDI`ErP@%O-kC5iiM-w! z0>{32)rr66nod47W5epVyk>OkYGWJxx7M4j4W;IPpA5{k Jzls;T{s1*<5pDng diff --git a/test_conformance/spirv_new/spirv_bin/select_switch_dont_flatten.spv32 b/test_conformance/spirv_new/spirv_bin/select_switch_dont_flatten.spv32 index 80092e59d69de27a7a797c4df8e13f70499b3a8b..5caee3946afb55a92570b4fed998acd9a2bdd2aa 100644 GIT binary patch literal 948 zcmYk4TTjA35QSF?qM#rG;@u)@VtiK<1CJ7X^A|J-HIOu|p$)$J>MvGfOgvxdCf#H@ zXRc>?jUSGx2)>judu7uN(y&;W{99QGECAL5^x??f0sd;AjXsWf%JdOc!i5_aKA@OLH5 zb}r%0uJk}2?#tW#$VU%iM4O1}1OqVjfDqS;9Qdy8)Hx)yS&d3k^aqLBJvv@r9CgD8x zUV>2^`*UMT>Y;w&M~Uso4yLIM#zOW$XyAa49;yRP9E_^uDDj=d-%adlVqeMjyy$hd zSbBpXd>#eE`7#`j;#oK!PEvl4n#MeMfDdj0zLJmO7tSEP5O z;Y0t1v@79VXZ~jD{`)og+{otZvf*L+dTxbCJv^)p2Wx}>rEE*Or%CM3&6!CL?@4pHRa-)i_n;Va_aw|C zM?ZY`CB*4xzO6mT{Cw@9V#IANJFz?e0WjZ%!^~p|bE*HxVkcRgJAR7AsWfwbbQN;0 zgj;kZ#Lpyf?Mm30cwZ5)_;%llF@qenHph3&=jgXNzG*(^=5qW$@;PSrv>*GNOTe|a WxsVMNhQHe6PVxuG8#$=} diff --git a/test_conformance/spirv_new/spirv_bin/select_switch_dont_flatten.spv64 b/test_conformance/spirv_new/spirv_bin/select_switch_dont_flatten.spv64 index b0c9f7ff597f6fe3e715209f946c4af3891ba9f9..937cd4d4309ed97adc62df2da2b3b0b2960c3570 100644 GIT binary patch delta 274 zcmY+8O%4G;5QWS1U>1mE$e@i85|{9k*w~9xI0bj;xqusR04pxy5E6F2CpJ3y`c=PI zUEO6;Cg(+Tm|JWeGs~b3ORHIe_Miq4Xl1=rGxspZSt;&ssk9OzDSn&=qh zYfjb7--AXz`PF~96i4qjKYJ*gZ0m;-)zoBHa~#+PtfvNxphk>krQNptWwRJ|!(mu8+D zTfZgDarU+_`*3ze7+z;rh3W6?9bx8yuO`i$tGV)K*JA9pZd;dzn>;5Ec24%hxm5>p zn1Mshofyey4u_e+VfeolZAjA(-lhcJu6VgWJBNcFoM-V6Z%K%89_52)UqXLk)RT80 z!B0JWF89#d+1w-f@Vnd(%f&xHAL5_ZcOs0RJ${MxRGPd0>h*}7S=*PUUt7X#=MwJh zOZVjAzP#O!eDokju8Z-G*%a<9t~S6|XK@aELaz literal 960 zcmYk4OHaa35QVQ4L_|dt#J5G%#JE=z14{|+`~?kS4I~X1+Thl$zgUei@qF#QrZ*Yp zedf#*uh1zQvt*1Zn+yH&>ZV|dR+p?^mfkR4T3L`?GZjOO&Nz(1Q4+*&lVmgwUZP== zgj2;!s;71y#;NVej>ee{{#$hpF$S{!VIFQ~OeO5X7&O`6B2? zv!`J+m@a0cVKSLb2hSO|2cdxn59Twssb4K^d>>g-K)~u((s{w zP1=|6uB^YFx&Qu#eD34&HQDfR{-$i^IlnF&e$3yJhIclnsM#4m{I<4lNW+CXCwJi^%WhZv$Kfug)%>naB0xtC*Hg;^|-0@Q^PNdoWM^_=|TfZ$0 z{;3469SJ)V?I9Q`iGH_hk#T#o-oJ_mMJ`?1fNgt_iE=d$6* SZF<@dpBiG^@K>ANO8x+a%{P+( diff --git a/test_conformance/spirv_new/spirv_bin/select_switch_flatten.spv64 b/test_conformance/spirv_new/spirv_bin/select_switch_flatten.spv64 index 3bc755d8ec6c61f69f539447623fa16466aca856..579681d857026387c287d8d60d57e4e8f3ad9a4e 100644 GIT binary patch delta 284 zcmYk0O%6dZ6os$$p#wh=q@H>zL?Tuo5fT#{upsQ)MH|dntmHRE6<^(Pwxn?51jxF*yGd| zv;g!K$Uw?YtMh->i>!r>6y9STzu5s7Ji>u9z@a|$^r>LC3%fdL#ERQR;c-o3vcazJfIZ* delta 284 zcmYk0OAY}+6h)sdpO*MU5OnKqAreav!q8kS2s@C}*d9!c*^n7C=Sp{?l2iB9eZRVd zm+-a>>Km(CXl4Vy4+h7fBG7qS#cJpX^Rh Qtgq_gLknWMvGfOgvxNO*+YR z&RllR>}PA22fFItrzPhmSrASA9MV1&fzWfbYgm_D*H)Wf$%yVPU zZwVvL-xg*U&aVl>>-@Sf{hhxf%slWlWSMg{SJCWRjNjF5o3e0I=k&qO$)1o~b)beB z5YF6*k$UEEm>C>~|6AFXEdAhZOX2N{m;1AGIOu^qi-&wiN)CBc44!={{mF5jx&tY3 z&co+w53QfCJyMLgtNpNC`~&nM|7l|g!`ynjm;M7HLp68+ literal 956 zcmYk4T}#4X6vv;Ore$fCX7A0cAiA$0^fIx#KEW^>D2y#OvD2hPs> z|GYeNO8u%aE5?|rxzrbGnUX2zvXaYH$%b*#%#!q`sTq7!CVt>g7hdut z>)hVV%zwKfo7>oUQ#x~4drLa~tlg5%eDvRzWbUj_S-rFQuzT9REy*n8S-w{tb8|Q7 zMhN6E14PZOI+D*ER%ZsQ)Bj7+j^sc{?9a`?qy~BtF1PB6i9rwYfx9OLj~MmLyD!F1 zJ@_{FAh(OThw|aKx$MO5`~&oSS06Bs#o&_vk^4?^KX?4p6sMBVkFG+@6?2Q882mFa zv-ZX8jDIK(y?DEC`M@AXu8r}I#TfNA#+w#nZXw41QH+5-(0=T5E~c-&&4qMkKe|XndbacJ ze5bXoeI878ltQK=;=mBpG7yVAkF{~PiWT7bNIy+1P*X3#yVE>s>eNoqCdf;mfIYg7 zkXL}Z0R_mj>+b$P8$|ZPMjmcp$8V0o9ZP7q0W=M<)N{|pi+aRsijNdux}EV=UbRC_ IM<2f$e!@r-MF0Q* delta 248 zcmeC-=;7F4!o+FIz{bGAz`!6r*_TONQ3AvQVh}jOz{@3D>&; zWrTq|X&`0>Vksa7nZpC5Wq=qY&IH6PKnznW3*{rLl>>@_#9?Z!fjUHhe0d-S*=z?i z9mM7X;s&6dAoCR%fEIx)k(LQ81q=slY36DU2I#serweDjBsOwP=?%sJ2S4l(4* zLdql+DzEWznW>>RvI34$xjN*EdY9Y;?k~_iGTW)X{_XYAw)^W?Z?o0OlRJepnZsYW w4$@>u?nC%pt>ip{TiYpu19e{=*SBoGnV12`nYw?P0=v3*A(S>zDhg_3qIt|9huT$|;Vu z6eQI;Jo9%tsnUwrBTq+O<7O4=IU9U|%m?xYr$tQ}!gz7ID$Tzl_n)G+cz}5$qe;uT bp)HTlop+EHdG2uc?~%9tc7r+R@(Ra4K?4f_ diff --git a/test_conformance/spirv_new/spirv_bin/undef_int_simple.spv32 b/test_conformance/spirv_new/spirv_bin/undef_int_simple.spv32 index a7fc24e89961023757e6d24cdba51761fe31e152..244aa7eab2b577a844636aa2b669e2a1d5e7d585 100644 GIT binary patch delta 158 zcmW-ZyA6Oa5JR00e*z^H5-2qt5;Rb<52GN~UA@O0>ky#o7Z^p;IZ)zpN3u(~KMSCRKmQ9E|Pb7BuSt(S&8J;P}{ W;AHST@ZEm|r~P*)Y3<~no-54uUJ6D4 diff --git a/test_conformance/spirv_new/spirv_bin/undef_long_simple.spv64 b/test_conformance/spirv_new/spirv_bin/undef_long_simple.spv64 index 087bb13155bcb8b0c383e1fabf7ee77c7c9774cf..fe0bae64905f05dd9dd2e83cac3b505e24db3a55 100644 GIT binary patch delta 210 zcmXYrI}XAy5JbmuAP_LWh89GHB1!}el$?UYZ~+RGBf)*3q(S116-#69zFF<~R(@iN z#io*iq)LlNdT&=MHK6UG60Nz1*;eKaj(OegL$kAUP|Qw2{Z*k6Z-9Afj85w3ZK=J7 n<#hr{$miAVno^tB=-IIuwYk{^=0DAmQ|z5daPNd4c}MgI>{Sf2 delta 226 zcmXYrO%4G;5QVFM7>pi&5nCcw6KgDpl~cHi#1&+Y#C=%WNPMp|oxIem@1?5x6Yenu zzb?$2nH4sBr1xQN(R#FJq_?E+Q#(j}ML(c2m3d7P@ny4d^;XHwLQXvXYu<)b2h(&y uN9*QoRdaKT>j+XIy;r+yj2AD_vt<*!xYz}zKTVOYC_8aMy)OK?w?}__DGeh4 diff --git a/test_conformance/spirv_new/spirv_bin/undef_struct_int_char_simple.spv32 b/test_conformance/spirv_new/spirv_bin/undef_struct_int_char_simple.spv32 index 652b835882d276a6be34025c8f73189e6e5812b8..97a0252725cd3198163963b388f9cde2fb09acdb 100644 GIT binary patch delta 201 zcmW-a!41Mt3`6~Y3WdU_WdQ{03>949$ejbbum_WLBSz?v3lh(bWZ7|?WQtFe$bBs( zNwxN4i8QRxu7fJA;R@J0q8fMs?4Rg2FzagG&(y!%ofUH`qrb}9!U@kC1zfe9FYM3( doO3;J{iy|>x$b!W*a7D}yRqfow|-o{fIoRS39$eG delta 217 zcmXYqF%H5|3`6~Y3I$3jAhDvN9s(BF%Fb=L2Pff19D$JqiRUjOS&p5=dBr>0$U`k9 zNwv1mHqzMByLPHHhi64ed-US3?f2*go&fs?^b#gc&0|c%-Rh_)Tbcf&tQJmqzF2{? jrX``H58yr54Yz{Vz%$ns&mT9yd!AjmvUb*&SPKF diff --git a/test_conformance/spirv_new/spirv_bin/undef_struct_int_float_simple.spv32 b/test_conformance/spirv_new/spirv_bin/undef_struct_int_float_simple.spv32 index f6ad4ceb4093a6b6a693bf6da2c5fef21530aa3c..912e9e8f3a3a3495e19e9fcbf5eb88b4654cdd2d 100644 GIT binary patch delta 204 zcmXAiK@I^y5Ji7aH8X}bY-TBB4uJ(riKW}PhPav|xPgt0#QRk8x~hIv{eH$HN>oEF zB}uiGxANNe3N^HASSf2l&hXc=TIvy4-!PeyaZr0dr{U^ui-Wf+c=OK43C$M;4jTU) g=F|b+b6imUQwN?oPH6U8fcHE*a^>D$ADnma1t{_gnE(I) delta 220 zcmXAhO%4G;5QSe)HG|Rq5|%PDhroiR#L{hCLtM=f+`z_0;(Ju`_3Nrv^&atz5>;1A zNm8xFt-Q`lWesRsaIF*?qAjfPMyUP&EUV$)1J5`3W0XWS_kHTF?zSX&tAaOgK@&4y lOyHpYFJa0*z(~Qo*p6kTSS#$87y(3rdo%JDk2VbWd3iAK} diff --git a/test_conformance/spirv_new/spirv_bin/undef_struct_struct_simple.spv32 b/test_conformance/spirv_new/spirv_bin/undef_struct_struct_simple.spv32 index a66ae58aa851658cc2b34c9ed156cb444fb6863c..8d8fe3989c70c810eb7d4cd714ebd0adb4c199e1 100644 GIT binary patch delta 208 zcmW-ZF$%&!6h!}KS7S7*(IBZ5C3Olx&_>JLC-<fM36L``4;M|5P delta 224 zcmXYqJqp4=6ohA!X#86>MoA};)F}i(8!f$u_pyqmUG8)X_HYw%R)G231OzEA#I-9D7<7H5XzS5v6bkv#zWJM^5*KZ@NgG_BQ9 sY5&TdZ<-hEfak;#&KmX&MfVKVVTDtG=Zf$C5}fw!LekpFFFhyt0VIPA{{R30 diff --git a/test_conformance/spirv_new/spirv_bin/undef_true_simple.spv32 b/test_conformance/spirv_new/spirv_bin/undef_true_simple.spv32 index bf6588027fb1f943ae1212850017be7f2e86e4f4..08b9033d3dd0aaca1a3ee0aa8c137130caf17427 100644 GIT binary patch delta 211 zcmXv|I}XAy6mve%0u6;0iM5CUAr8OE@e@+; z`vPzP3bc{?}C=++k4ij9^Jm{$*>jWU%%n p`4dxXsL7?(R1p{YdUcgwZhKsd5n4C;`cp%wRcBXv(sh2j_6Kib47~sV delta 227 zcmXv|yAHxI5Ob13%Og-|5o-|xLd=K>HrV+megNeQI`*?V@dFHu*e5v2I@@>WA@O0>ky#o7Z^p;IZ)zpN3u(~KMSCRKmQ9E|Pb7BuSt(S&8J;P}{ W;AHST@ZEm|r~P*)Y3<~no-54uUJ6D4 diff --git a/test_conformance/spirv_new/spirv_bin/undef_ulong_simple.spv64 b/test_conformance/spirv_new/spirv_bin/undef_ulong_simple.spv64 index f0c9959ea644b3ac6a0715684d7241ef6f5de7a0..4651d73adc8591ad608d808f0caf11629c63500f 100644 GIT binary patch delta 210 zcmXYrI}XAy5JbmuAP_LWh89GHB1!}el$?UYZ~+RGBf)*3q(S116-#69zFF<~R(@iN z#io*iq)LlNdT&=MHK6UG60Nz1*;eKaj(OegL$kAUP|Qw2{Z*k6Z-9Afj85w3ZK=J7 n<#hr{$miAVno^tB=-IIuwYk{^=0DAmQ|z5daPNd4c}MgI>{Sf2 delta 226 zcmXYrO%4G;5QVFM7>pi&5nCcw6KgDpl~cHi#1&+Y#C=%WNPMp|oxIem@1?5x6Yenu zzb?$2nH4sBr1xQN(R#FJq_?E+Q#(j}ML(c2m3d7P@ny4d^;XHwLQXvXYu<)b2h(&y uN9*QoRdaKT>j+XIy;r+yj2AD_vt<*!xYz}zKTVOYC_8aMy)OK?w?}__DGeh4 diff --git a/test_conformance/spirv_new/spirv_bin/unreachable_simple.spv32 b/test_conformance/spirv_new/spirv_bin/unreachable_simple.spv32 index 2411c1309d67630e4c13d0e2e791afaf88145604..0d4f238cd4c1a638dd8ea9bfeb93612bd353d388 100644 GIT binary patch delta 245 zcmYk1I}XAy5JV@jA>m`b7a)o_15kvLo)d*DAPz}O2?c^TmXNSC+VS)3u6&7)kV4s3 zQX#3*`kL;|Mo~4_0g9->ji{tDuW#F;?M-$HnUsHijDM=sgxYDCr%dqyIp=eRdU8U3 u^Etu1b%vbt+mFrho@>_8N$)`mE)KtlFR5O-qJH>`z1fkqZg%z!-=i-d%?|Vc delta 261 zcmYk1y$*sv5QGN~MO6H!$M6JJYJnxaPo%G4d`MeMEsTD1#>7n~GyC1%E!@L7D?{4k zQX(nW>Qde|l`;)zYviiw3%rNS*Q6oNt;maOl{6=ltwJQ}UmlSkN;Sq?_2VlgIUvuu zj?fIBAfLH9n72-m=X~~KGqT?`YrkK+*PO<~PsSIxmoD))|K@CVV688E_66Ue52pnW ASO5S3 diff --git a/test_conformance/spirv_new/spirv_bin/vector_char16_extract.spv32 b/test_conformance/spirv_new/spirv_bin/vector_char16_extract.spv32 index 567f79fde88ee56f8292ddc71f2bdd9f0e15e662..6acf7eeeb0b19da1c40caeaa78c9d12c1e16ccaa 100644 GIT binary patch literal 588 zcmYL{PfG%E5Qaz1%q-2!x^ystqGJ~e!j6fD4t;`U+k^zs*cR!dcL{o)b)$jT`S;Ge z^OJ4VFIy3{h-k$rzgj=)u~YeG<##I&x$Ix#yU{2o>%_fiha5L;=2@}Mlk7dsZ^y~} ztH{%=px%Tpcd?3?qR=4jfO9YSs&S)<%<@SL+ r?TLzekAXaU6E=JA09co!-U--#0};>EeB%(vQ~wb)Io5u-{vP}SXdWNx literal 604 zcmYL`K~KU!5QT>pLx;ED@F}A?kP3|=LtjQAl{=M?hLVq*Rd1O69gHydvtDVI8IO_htuA}4HHUYM z1w6S!e8`vGt_6C;n;3j20y=tYIkWFnfJei;nZQgm@8WnP{}npsziJv9xF2o*Ec^mc CY#>$u diff --git a/test_conformance/spirv_new/spirv_bin/vector_char16_insert.spv32 b/test_conformance/spirv_new/spirv_bin/vector_char16_insert.spv32 index ac3f8ead938d36830ea191af2bd1ce5bb1406126..074e2e5c277f1619efa41b7970e3622f3112c29e 100644 GIT binary patch literal 608 zcmYL{K~KU!5QT>pL_|SE74M zrp(ehFN^I*d&^8pW-R2`Ts3!sv2UT8H(}sYZ9Y~+H&7(U(48oPoy*a2J9EIOPeTpw zM$^s|(Zl=et;Ay=yRoGv!0GtPyyi(=G<;X&Xn8+5`$qC_b;pWp?cr{2VkR2wO-#5G zIX&z}2y-vw@aU~Infs@5a5(I{l(+wZmcyH70e{s-YJMv)wA{4O1?a$k^rC0^FA?-0 A5&!@I literal 624 zcmYL`OH0F05QV2nYpvBjthFv&Lw=bFZhGtMfUw$`H{tbGEzLYfx$tk-R4bIyZj@o@0YG9 z_uINr*?Qu`ElRUg8)C&n;ZjJIk)Qjx>v=bd*$!Y_}=f zD$kmtDmU-Hx6Cz(Mj~Jf<=jb)eTj13gi(ioD4z(}OqUGgsUOMH!_eV&Y7+sSV|jF` zk)MPd-j&ox@@T=Mht{Kb?B^D2DFrwkpYe^&9@J%qZ%525--8&9vGAoXcdWICcT5E| znZaJA%WbCuJ?vQ(bY}uQdTS|j|CvA?4*TW;JO4PmiT{fFi#C!kLXBB&deQ~-sekK5 GE8z$HpCEz& diff --git a/test_conformance/spirv_new/spirv_bin/vector_double2_extract.spv32 b/test_conformance/spirv_new/spirv_bin/vector_double2_extract.spv32 index b90d90a5bcaced783dd16e0b46475518ded295dc..19eb94009a8eb877dee6379be0eddd43b77ee098 100644 GIT binary patch delta 298 zcmXYsOA5k35JW43;l`{3s2cuTdz)YVSEB8ZlCu;Pg*yCHPtHMkU`rq5$lKP0k zG9Hetx8NX^8fS<#>0{&V>BQVPwQHWX&!oQ2s0`l8myj|yNMhE+o6D%%lY>)m>9m_q_bu zm#N$3W{H{Q79QpIR-3m%V=GXVIU9=`OKl?Vg&@yV%0{4T3*n>JrMOdSCSDECB;40@0(I6Uq*MY)ymj&BP1Ny_ ZUJGo%bCJfM8UY{Mj=BO5+E2G0gg+B(4;=si diff --git a/test_conformance/spirv_new/spirv_bin/vector_double2_insert.spv32 b/test_conformance/spirv_new/spirv_bin/vector_double2_insert.spv32 index 7d50d0109eab82db8ee54bce6155a1613f1707ab..02601e50a76f5a2ba4a42eba7c7dee1b731e8e30 100644 GIT binary patch literal 596 zcmYL`OH0F05QV2nYpvDRTH9`1R0P4T3l*f|%FvDAF9>~P5eT`G#{70Sg6F%r;=swg z&dixh;^?Mt)-kibE%e1E7Fjp=Uhqf3pU96a_7jofu?>tK8=7oayDHtguWgatr+InE zs#^7)_;B;mEYapz@ld!D5@qCbA9p?PRx!G8x#K?{dhVTSX?pm~t0qkfx7`%$vT?gj zox5_qZ*Q4tk{wF{TPWvFYUnMM>*3z0Po;b;KUa4k|0*!Ud&#+<8SZ8WHS*Jt!@HKk znLK;o{q>%M7P{DjHo)ol%>2xwbeTbim|5OVjNVB2R(CAFk`6bY3+!YD`w$cEM4*Sg xslwh10Uo`THgo?}pbiJUOQHSmEr&PFLj7Hew_;D?>Mezu?kG7J-mR8uQ!T2%hhH#S5qN zI&)?wjic+nS;x%!cA;P1#3Jhk+Y9y}*dy7I#l9nwKemBUL!r&KO;x*H^|>jsJC~RH ztZtO=i4Qj~%~C1H@`u8ukSZdcd%x>>H}aVamp%UDq37Nz=iL4yuUnTE)n;9+%C_3B zo4hJlyWd@A>O>BI|c~(B%W=iN!$~={>cP!7hv~&30eD$qO%j zAU)c$HcPcJ)_W{m2&pP+Jn5mk7Vx9S|Gypw?TxrB`}`=IHcKn_npfMpbw%z=S8w0; zw=6Zujzl2NRdXjCeu--Ra0vK?oDY>(>W-8Xfte#^YVKf$yVJ262sn8 l0Uf=yHgoSnfJcMhnSdvnXL0=FQb33QMs8@}esukV@C)N3ALjr7 literal 584 zcmYL`K}*9x5QV2nYOU4QTH9VcLRI8b?wMj8xBTY+y`wyTUiE`>2}S-@4tmZ}Y+n zABqpRtj#hh#;PZZ3q_`meiiB@@UB(k2N(bUeiFDh!kqj1EZfdyRr8it+q!Ft+?P$g zec$i0)Fc|Ig0oi7o?!T;>h<7oz~LV%rvWirXp^z(mDoo;js|i5QV2nYOU4QTH9`1L0DOUA9=a1x_XnhMP02w z_qWV7$&OUOmdd%48hWX6J=h!dnUs&^7wQh>Q-PTid2;SxhP&CZ=OlI-a(LHLIFn}& zyhHCfXrYTeXak&{&&0vKI(4EQQ(OXHG`_JXzaM(AOv-6L`oA{r=U$v2X88BwK=~)-h2mjHF9_7Dw C>mYvs diff --git a/test_conformance/spirv_new/spirv_bin/vector_int4_extract.spv32 b/test_conformance/spirv_new/spirv_bin/vector_int4_extract.spv32 index e1a38be112baf3ac4aeaf0212284968d16efe584..50d5dd4f679c1bb47f6bb03c56bd17c046a24834 100644 GIT binary patch literal 552 zcmYL_OH0F05QWDiwbg1L*6PMZMG)Le6{KAnx^UqyxWw2+pd=D6!JqC%@O-yd95|Ur z&YUwzn%wlw4$Q1?b3KWvC6>k9i}_G_WNBa~s>e1kW^8ub(l@QEYJcyxU%o9$Z#{A0 zRkc|zwN&*`xDs-8^cSJd0`FEeUU2dL?}veVr+vmagmDEtD*wjQql literal 584 zcmYk3PfNo<5XGlSYOB@$vDRKZL^1@qR zTzF+=mPsvEJyKjLGIjKqp-uwtRyAI5@&4;afqN&+xzCTXX)~C? zb*zjQI9z<5G>1RCa8^=)(+eHn*X%*J%<%1~nZ=VDjfvu0w^QY{e0ax9fhIGYSLw3b uxq>^+vk-LW3V7VDrOdt;3UE01Efjddc@f4N`LE#NzmXdpupe#zsQ3kV+8>7i diff --git a/test_conformance/spirv_new/spirv_bin/vector_int4_extract.spv64 b/test_conformance/spirv_new/spirv_bin/vector_int4_extract.spv64 index 8ea6cb15c265195de7e7099c3142899809632e21..5b6b0c188923f7faab71c6a21873ea60a53412ea 100644 GIT binary patch delta 304 zcmXYtxedZV5JhKwa(KCoAp<#}1RyXH2^lpZaxzy!4bTW(5P-ygXe~X@?(=Bo%eVBC z_&BO_GiPSGE$_Z|$I24x>)sWKSm|A;ronOd;ZEP$G8?G&1iommZnMX1E&iJ*oSDKz zJky8bZIO*s8%@bn$L-5imkB4q^VDW`PX)ds9>L9m$DQQZUkWzzt$tRcQxBqzU=e@7akTKu-_h delta 320 zcmXYtxe>xZ3`Mm*FxPS$1CbdAlmG-KBqN{{Dxd)}S3(WY0NoJ44DU0$GtXK*Yb4p9 z66=wdpi_|diE;^)JUuZDPWd3@s#{yjhQuz&`{v>{dzr1p ze-nkfx~QXkhd6?_MK&hZbZHSM&C3k?GQR=FKmQALtpe%B6u(e)5L diff --git a/test_conformance/spirv_new/spirv_bin/vector_int4_insert.spv32 b/test_conformance/spirv_new/spirv_bin/vector_int4_insert.spv32 index e21213687f5f689d1d8b37c0a1aeb9b0860a6f61..006ec9ac148604cc6e46ad72468b407d2e3e334d 100644 GIT binary patch literal 572 zcmYL_O-lk{6oqeoq-AMl)~1CK1nt9uuw~*V=obuTE(T;K#=+m-Cg^#_i7uSEU+3O) z-)S~(I}ryF(TPjG+Atc?s(rimhxmRpD`tau5Z$om~{k~RpyRp0*ww~afmFK(cJ=goy(xz19 z_>VMa9=XIB-)!uxn#S%p1>bc0_!&ChIRNf-Mtg@T_YBz6Ua7cu2;|wDv02_Zur5cv f5m57w4U$6gRQc!~@5H+JPB4AF3xXCU@&qT~=9M)HDBV*HtZb%!QX1 zQfjrf^S=Gcp1PvG2zeZMx6auGm)(DLKXC7iW!d&KuXb6wDc_fyMX@Va%Q`QM#mD}R zi6_xW?AX*bH-fP*aqY(j1Bc&pOadZ}eaT^iAN|A8;dU@?L+98L-90bXNmIkS_SS(T zTJY$x=gD*I=N9bV3UFGX;`>Su?lQx-BWISKux`OD!={8!+w-bg)dFlM>w*%#0U|MrU>?LQT$AF}`e diff --git a/test_conformance/spirv_new/spirv_bin/vector_int4_insert.spv64 b/test_conformance/spirv_new/spirv_bin/vector_int4_insert.spv64 index faf0238eaa67e6294ce0476f5e8366fbec93192a..47996ede7d52f6453c4f6bf36ecd4143ca34cce8 100644 GIT binary patch delta 324 zcmXw#%MHRn3`A%1<+uD{ffFbPL`U2(#)vQ$yTw9IeUtZac`T+;=5Hi5QV2rYFn$;T5J7VLli&4s^y~0izLm;dwtf+ zqBLvy*)%hY#TsZ1j!Sv0iu%Omq2s$z&Y8@j;lJ*=*;`>rvi?eoDv4M5$9y%-s(djo z(>$Ag);dPogyU6?ja8!&jPoMZy0kO!J9X%Feu76Div&WR#1Q=GUIgd&8gXH| zZ)azBHZ+c|dS)Fn>)ArT#Ka;yXmhvChix7zk1P%ok=|qL8$C8OyR7z=D}4EW>vmst zm1ebQ>q?I{FU=Bdj`e2Gg^;MC#+x3xYXM(s?)a~VL3<<4xzCThYFtwIZCY%~#%F1r z`*QQPzh$mTb}R+rTs3#X;kQ(+4-Wx9mGhA@bA9C}fnaW+499KEaXWk9sE^wk-KAVk zl-ULUr+ttPKfH;RHlXQ*%EHW@y3F9in_0e}H-01GTivnpT0Y!;DzK9o;#Eqt6M-J_ qEQY;j0y=tYZRXyo0FMU0nXv!w&0fUujdKAV{*Q7)1NWor?}cCF&>y=1 literal 596 zcmYL`PfNo<5XGlSYpvD(vDRKZL$Li6!P^Oxg&wbzbyleIN!ex*DdF;72!m{l1qinh?t=wx~?dr}I zd0V=A_x88TQa8~^l*CFidxGJYXx77hfWtpjO*~?@&?cjRAE`bD936HC<4x!stD+0W zd=h4OmvWt`q6H2Yp9k^qXBT2E1vouF@r}*ybjlrk=()@Hphsh>{MPAAbt50%F;}9= z9pXj0>~^Z;jCc})?m`KVvyGJ5_e=>62fw8fPdLxQcq9K6Jp8wEg9G-X?eCSp$A%y$ diff --git a/test_conformance/spirv_new/spirv_bin/vector_long2_extract.spv64 b/test_conformance/spirv_new/spirv_bin/vector_long2_extract.spv64 index 7efda1ee03ca8ab3edc80230a6524423824d77df..34d2517eadb84b18794c6016fb684c6dec290e44 100644 GIT binary patch delta 308 zcmXYtI}XA?3`D);$0q?ofIxu+qR0`T2_+px4#7E~p-0L|I0GDt28lP(uJq*btnGF3 zjP6ku^!ACFGqc3judH&L(n1@NN6>>UdFu11ZCsJ>EVePu5Hd*HhpTRK4ifx4{y2Q9s? b8ZB0WmQ&5e4_l#Cr$tY!r5brZe$f&B5FHNl delta 324 zcmXYtIS#@=3`L!du!Svz01^@rMUDVX5EUIo4#5$q;Rr}M31@&q(ID}DG?u=;{p`$m z@`#>M68O8=%rmpt)~}@WHkpMspgti*PCdlM{HFHOVhb5jMM#~(IyT1pNIYq7UU?VU zThJ2U#2+>zG;J=K5k2ORO7XFUEryhl(Rh10zvBwt+EYL$lk~zH)^xKkr;#?srvf zJz>G+rCFw}sd9E)$}?5e7a{Kk+>LTH!E(cYJq*}e^_<&(~J@lxLV-4;~DkqBU z0{1t26b?PKv86VE>4eGx=U!7d=#azZ{p9G46s*-D$ae=4UB2EB86``=p(Z<@vas}!mESM=a=(~~ZMNB>7JdXWDDWx5~Y literal 612 zcmYL`K}*9x5QV2nYpd1PT5COchzNq$9#oKuCqplSzaZ3FBoKBb4f*X}1mCx=I53@= zH*em|rfG83H|v;L-_G@mO)Rl)jJ+85VjL=tEDaNh^05t!9t!Pt)A+imy!%)brQ2=m z#(LtyE1g*`)l@ke7xG*c^;yWffp@K(op8C~za9qejj*EFeU^1w>+2C??H~nSpKE%vEovDc*jJJCNtQp zbh+(BP7iw)g6>ofkKR(s+>OKKQp@bT9t_ DO2{Bm diff --git a/test_conformance/spirv_new/spirv_bin/vector_long2_insert.spv64 b/test_conformance/spirv_new/spirv_bin/vector_long2_insert.spv64 index 9ef31d8bc199a7138eee5524334e08eafb859552..2eb88331c3dee14f2b3e3a7d07dbf3b5dd5b9c00 100644 GIT binary patch delta 324 zcmXw#%MHRn3`A%1<+uD{ffFbPLjtvv2n2zndVO@P1L`V^VB<~#8sm$ h0;Nsi5QV2rYpd1PT5J7VLCBv&Idg6rHP1U{4KwT5iGH!6HLVq5JH(9;dy0LFG-2Kc)-`%C)T?DxlxbeLx9c=> z>s47v@IXF(`i7M&?pSL{Ug>r5(i-!NY=Vvd4rRn-TE9*4Li49qlqWq#*YU3R!b&Mx1G9FAT2m%2m6 zsqXN$Jvp50V9(*LBjxn4&w%YK2j@F{1Z=Dv9PCjT_xZozqc@cT-Z_zjGlQ-}Iokea ac>7VnpQMcXIAH9e{Xt6E1OL{`@8my^HX{=N diff --git a/test_conformance/spirv_new/spirv_txt/atomic_dec_global.spvasm32 b/test_conformance/spirv_new/spirv_txt/atomic_dec_global.spvasm32 deleted file mode 100644 index cc6f048e..00000000 --- a/test_conformance/spirv_new/spirv_txt/atomic_dec_global.spvasm32 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "atomic_dec_global" - OpName %global_id "__spirv_GlobalInvocationId" - OpName %val_ptr "val" - OpName %ctr_ptr "counter" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %val_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%scope_dev = OpConstant %int_t 1 -%sem_cwg = OpConstant %int_t 512 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%val_ptr = OpFunctionParameter %int_ptr_t -%ctr_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%res = OpAtomicIDecrement %int_t %ctr_ptr %scope_dev %sem_cwg -%val_loc = OpInBoundsPtrAccessChain %int_ptr_t %val_ptr %idx - OpStore %val_loc %res Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/atomic_dec_global.spvasm64 b/test_conformance/spirv_new/spirv_txt/atomic_dec_global.spvasm64 deleted file mode 100644 index 4df145f5..00000000 --- a/test_conformance/spirv_new/spirv_txt/atomic_dec_global.spvasm64 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "atomic_dec_global" - OpName %global_id "__spirv_GlobalInvocationId" - OpName %val_ptr "val" - OpName %ctr_ptr "counter" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %val_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%scope_dev = OpConstant %int_t 1 -%sem_cwg = OpConstant %int_t 512 -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%val_ptr = OpFunctionParameter %int_ptr_t -%ctr_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%res = OpAtomicIDecrement %int_t %ctr_ptr %scope_dev %sem_cwg -%val_loc = OpInBoundsPtrAccessChain %int_ptr_t %val_ptr %idx - OpStore %val_loc %res Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/atomic_inc_global.spvasm32 b/test_conformance/spirv_new/spirv_txt/atomic_inc_global.spvasm32 deleted file mode 100644 index c6c8b30c..00000000 --- a/test_conformance/spirv_new/spirv_txt/atomic_inc_global.spvasm32 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "atomic_inc_global" - OpName %global_id "__spirv_GlobalInvocationId" - OpName %val_ptr "val" - OpName %ctr_ptr "counter" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %val_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%scope_dev = OpConstant %int_t 1 -%sem_cwg = OpConstant %int_t 512 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%val_ptr = OpFunctionParameter %int_ptr_t -%ctr_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%res = OpAtomicIIncrement %int_t %ctr_ptr %scope_dev %sem_cwg -%val_loc = OpInBoundsPtrAccessChain %int_ptr_t %val_ptr %idx - OpStore %val_loc %res Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/atomic_inc_global.spvasm64 b/test_conformance/spirv_new/spirv_txt/atomic_inc_global.spvasm64 deleted file mode 100644 index ec0a35d1..00000000 --- a/test_conformance/spirv_new/spirv_txt/atomic_inc_global.spvasm64 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "atomic_inc_global" - OpName %global_id "__spirv_GlobalInvocationId" - OpName %val_ptr "val" - OpName %ctr_ptr "counter" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %val_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%scope_dev = OpConstant %int_t 1 -%sem_cwg = OpConstant %int_t 512 -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%val_ptr = OpFunctionParameter %int_ptr_t -%ctr_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%res = OpAtomicIIncrement %int_t %ctr_ptr %scope_dev %sem_cwg -%val_loc = OpInBoundsPtrAccessChain %int_ptr_t %val_ptr %idx - OpStore %val_loc %res Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/branch_conditional.spvasm32 b/test_conformance/spirv_new/spirv_txt/branch_conditional.spvasm32 deleted file mode 100644 index 40a0404d..00000000 --- a/test_conformance/spirv_new/spirv_txt/branch_conditional.spvasm32 +++ /dev/null @@ -1,53 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "branch_conditional" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/branch_conditional.spvasm64 b/test_conformance/spirv_new/spirv_txt/branch_conditional.spvasm64 deleted file mode 100644 index e318e14c..00000000 --- a/test_conformance/spirv_new/spirv_txt/branch_conditional.spvasm64 +++ /dev/null @@ -1,58 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "branch_conditional" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%shift_val = OpConstant %idx_t 32 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function - OpStore %tmp %int_zero -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/branch_conditional_weighted.spvasm32 b/test_conformance/spirv_new/spirv_txt/branch_conditional_weighted.spvasm32 deleted file mode 100644 index 779d5ef9..00000000 --- a/test_conformance/spirv_new/spirv_txt/branch_conditional_weighted.spvasm32 +++ /dev/null @@ -1,53 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "branch_conditional_weighted" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare %block1 %block2 4 6 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/branch_conditional_weighted.spvasm64 b/test_conformance/spirv_new/spirv_txt/branch_conditional_weighted.spvasm64 deleted file mode 100644 index 6ae492f9..00000000 --- a/test_conformance/spirv_new/spirv_txt/branch_conditional_weighted.spvasm64 +++ /dev/null @@ -1,58 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "branch_conditional_weighted" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%shift_val = OpConstant %idx_t 32 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function - OpStore %tmp %int_zero -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare %block1 %block2 4 6 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/branch_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/branch_simple.spvasm32 deleted file mode 100644 index 8d2308e3..00000000 --- a/test_conformance/spirv_new/spirv_txt/branch_simple.spvasm32 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "branch_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%outptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current_in = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%current_out = OpInBoundsPtrAccessChain %int_ptr_t %outptr %idx -%val = OpLoad %int_t %current_in - OpBranch %final_block -%final_block = OpLabel - OpStore %current_out %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/branch_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/branch_simple.spvasm64 deleted file mode 100644 index 9d4f5884..00000000 --- a/test_conformance/spirv_new/spirv_txt/branch_simple.spvasm64 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "branch_simple" - OpName %inptr "in" - OpName %outptr "out" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%outptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current_in = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%current_out = OpInBoundsPtrAccessChain %int_ptr_t %outptr %idx - OpBranch %final_block -%final_block = OpLabel -%val = OpLoad %int_t %current_in - OpStore %current_out %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/composite_construct_int4.spvasm32 b/test_conformance/spirv_new/spirv_txt/composite_construct_int4.spvasm32 deleted file mode 100644 index a4de927f..00000000 --- a/test_conformance/spirv_new/spirv_txt/composite_construct_int4.spvasm32 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "composite_construct_int4" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%val3 = OpConstant %int_t 119 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%vec = OpCompositeConstruct %int4_t %val0 %val1 %val2 %val3 -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx - OpStore %current %vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/composite_construct_int4.spvasm64 b/test_conformance/spirv_new/spirv_txt/composite_construct_int4.spvasm64 deleted file mode 100644 index 69806cbe..00000000 --- a/test_conformance/spirv_new/spirv_txt/composite_construct_int4.spvasm64 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "composite_construct_int4" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%shift_val = OpConstant %idx_t 32 -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%val3 = OpConstant %int_t 119 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%vec = OpCompositeConstruct %int4_t %val0 %val1 %val2 %val3 -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx - OpStore %current %vec - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/composite_construct_struct.spvasm32 b/test_conformance/spirv_new/spirv_txt/composite_construct_struct.spvasm32 deleted file mode 100644 index 270c2e7e..00000000 --- a/test_conformance/spirv_new/spirv_txt/composite_construct_struct.spvasm32 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "composite_construct_struct" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int2_t = OpTypeVector %int_t 2 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct2_t = OpTypeStruct %int2_t %struct_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct2_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%int_vec_0 = OpConstant %int_t 2100480000 -%int_vec_1 = OpConstant %int_t 2100480000 -%int2_val = OpConstantComposite %int2_t %int_vec_0 %int_vec_1 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%struct_val = OpCompositeConstruct %struct_t %int_val %char_val -%struct2_val = OpCompositeConstruct %struct2_t %int2_val %struct_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct2_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/composite_construct_struct.spvasm64 b/test_conformance/spirv_new/spirv_txt/composite_construct_struct.spvasm64 deleted file mode 100644 index 67c99bc0..00000000 --- a/test_conformance/spirv_new/spirv_txt/composite_construct_struct.spvasm64 +++ /dev/null @@ -1,43 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "composite_construct_struct" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int2_t = OpTypeVector %int_t 2 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct2_t = OpTypeStruct %int2_t %struct_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct2_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%int_vec_0 = OpConstant %int_t 2100480000 -%int_vec_1 = OpConstant %int_t 2100480000 -%int2_val = OpConstantComposite %int2_t %int_vec_0 %int_vec_1 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%struct_val = OpCompositeConstruct %struct_t %int_val %char_val -%struct2_val = OpCompositeConstruct %struct2_t %int2_val %struct_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct2_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_char_simple.spvasm32 deleted file mode 100644 index 9ce758a2..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_char_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%func_t = OpTypeFunction %void_t %char_ptr_t -%val = OpConstant %char_t 20 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %char_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %char_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_char_simple.spvasm64 deleted file mode 100644 index 8c5cea76..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_char_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%func_t = OpTypeFunction %void_t %char_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %char_t 20 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %char_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %char_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_double_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_double_simple.spvasm32 deleted file mode 100644 index 15af1dae..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_double_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_double_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%func_t = OpTypeFunction %void_t %double_ptr_t -%val = OpConstant %double_t 3.141592653589793 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %double_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_double_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_double_simple.spvasm64 deleted file mode 100644 index 52a95c20..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_double_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_double_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%func_t = OpTypeFunction %void_t %double_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %double_t 3.141592653589793 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %double_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_false_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_false_simple.spvasm32 deleted file mode 100644 index 67ea6f1c..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_false_simple.spvasm32 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_false_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%bool_t = OpTypeBool -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%bool_val = OpConstantFalse %bool_t -%true_val = OpConstant %int_t 1 -%false_val = OpConstant %int_t 0 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%val = OpSelect %int_t %bool_val %true_val %false_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_false_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_false_simple.spvasm64 deleted file mode 100644 index 99f203bf..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_false_simple.spvasm64 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_false_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%bool_t = OpTypeBool -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%bool_val = OpConstantFalse %bool_t -%true_val = OpConstant %int_t 1 -%false_val = OpConstant %int_t 0 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%val = OpSelect %int_t %bool_val %true_val %false_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_float_simple.spvasm32 deleted file mode 100644 index 54aa082b..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_float_simple.spvasm32 +++ /dev/null @@ -1,28 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%val = OpConstant %float_t 3.1415927 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_float_simple.spvasm64 deleted file mode 100644 index f52a86a8..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_float_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %float_t 3.1415927 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_half_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_half_simple.spvasm32 deleted file mode 100644 index c8cdb9f4..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_half_simple.spvasm32 +++ /dev/null @@ -1,31 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_half_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%half_t = OpTypeFloat 16 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%half_val = OpConstant %half_t 3.25 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%val = OpFConvert %float_t %half_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_half_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_half_simple.spvasm64 deleted file mode 100644 index ab33b6a1..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_half_simple.spvasm64 +++ /dev/null @@ -1,35 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_half_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%half_t = OpTypeFloat 16 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%half_val = OpConstant %half_t 3.25 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%val = OpFConvert %float_t %half_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_int3_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_int3_simple.spvasm32 deleted file mode 100644 index 752a52e4..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_int3_simple.spvasm32 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_int3_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int3_t = OpTypeVector %int_t 3 -%int3_ptr_t = OpTypePointer CrossWorkgroup %int3_t -%func_t = OpTypeFunction %void_t %int3_ptr_t -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%vec = OpConstantComposite %int3_t %val0 %val1 %val2 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int3_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int3_ptr_t %inptr %idx - OpStore %current %vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_int3_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_int3_simple.spvasm64 deleted file mode 100644 index def2ae5f..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_int3_simple.spvasm64 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_int3_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int3_t = OpTypeVector %int_t 3 -%int3_ptr_t = OpTypePointer CrossWorkgroup %int3_t -%func_t = OpTypeFunction %void_t %int3_ptr_t -%shift_val = OpConstant %idx_t 32 -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%vec = OpConstantComposite %int3_t %val0 %val1 %val2 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int3_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int3_ptr_t %inptr %idx - OpStore %current %vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_int4_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_int4_simple.spvasm32 deleted file mode 100644 index 04523f8a..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_int4_simple.spvasm32 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_int4_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%val3 = OpConstant %int_t 119 -%vec = OpConstantComposite %int4_t %val0 %val1 %val2 %val3 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx - OpStore %current %vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_int4_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_int4_simple.spvasm64 deleted file mode 100644 index d3c741f3..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_int4_simple.spvasm64 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_int4_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%shift_val = OpConstant %idx_t 32 -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%val3 = OpConstant %int_t 119 -%vec = OpConstantComposite %int4_t %val0 %val1 %val2 %val3 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx - OpStore %current %vec - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_int_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_int_simple.spvasm32 deleted file mode 100644 index 2f7e7d7a..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_int_simple.spvasm32 +++ /dev/null @@ -1,28 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_int_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%val = OpConstant %int_t 123 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_int_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_int_simple.spvasm64 deleted file mode 100644 index f2e8a6fb..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_int_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_int_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %int_t 123 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_long_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_long_simple.spvasm32 deleted file mode 100644 index 46659e7c..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_long_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_long_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%val = OpConstant %long_t 34359738368 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_long_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_long_simple.spvasm64 deleted file mode 100644 index 626554a9..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_long_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_long_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %long_t 34359738368 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_short_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_short_simple.spvasm32 deleted file mode 100644 index 8416d112..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_short_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_short_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%val = OpConstant %short_t 32000 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_short_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_short_simple.spvasm64 deleted file mode 100644 index 73a5cfea..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_short_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_short_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %short_t 32000 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_struct_int_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_struct_int_char_simple.spvasm32 deleted file mode 100644 index 130f2567..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_struct_int_char_simple.spvasm32 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_struct_int_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_struct_int_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_struct_int_char_simple.spvasm64 deleted file mode 100644 index d67f91d3..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_struct_int_char_simple.spvasm64 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_struct_int_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_struct_int_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_struct_int_float_simple.spvasm32 deleted file mode 100644 index dd53cef7..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_struct_int_float_simple.spvasm32 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Kernel - OpCapability Linkage - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_struct_int_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%float_t = OpTypeFloat 32 -%struct_t = OpTypeStruct %int_t %float_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%int_val = OpConstant %int_t 1024 -%float_val = OpConstant %float_t 3.1415 -%struct_val = OpConstantComposite %struct_t %int_val %float_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_struct_int_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_struct_int_float_simple.spvasm64 deleted file mode 100644 index 14a0ea3d..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_struct_int_float_simple.spvasm64 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_struct_int_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%float_t = OpTypeFloat 32 -%struct_t = OpTypeStruct %int_t %float_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%int_val = OpConstant %int_t 1024 -%float_val = OpConstant %float_t 3.1415 -%struct_val = OpConstantComposite %struct_t %int_val %float_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_struct_struct_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_struct_struct_simple.spvasm32 deleted file mode 100644 index b61db8ee..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_struct_struct_simple.spvasm32 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Kernel - OpCapability Linkage - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_struct_struct_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int2_t = OpTypeVector %int_t 2 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct2_t = OpTypeStruct %int2_t %struct_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct2_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%int_vec_0 = OpConstant %int_t 2100480000 -%int_vec_1 = OpConstant %int_t 2100480000 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%int2_val = OpConstantComposite %int2_t %int_vec_0 %int_vec_1 -%struct2_val = OpConstantComposite %struct2_t %int2_val %struct_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct2_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_struct_struct_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_struct_struct_simple.spvasm64 deleted file mode 100644 index 7159c704..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_struct_struct_simple.spvasm64 +++ /dev/null @@ -1,43 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_struct_struct_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int2_t = OpTypeVector %int_t 2 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct2_t = OpTypeStruct %int2_t %struct_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct2_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%int_vec_0 = OpConstant %int_t 2100480000 -%int_vec_1 = OpConstant %int_t 2100480000 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%int2_val = OpConstantComposite %int2_t %int_vec_0 %int_vec_1 -%struct2_val = OpConstantComposite %struct2_t %int2_val %struct_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct2_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_true_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_true_simple.spvasm32 deleted file mode 100644 index a8f6d0eb..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_true_simple.spvasm32 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_true_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%bool_t = OpTypeBool -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%bool_val = OpConstantTrue %bool_t -%true_val = OpConstant %int_t 1 -%false_val = OpConstant %int_t 0 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%val = OpSelect %int_t %bool_val %true_val %false_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_true_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_true_simple.spvasm64 deleted file mode 100644 index 8854e004..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_true_simple.spvasm64 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_true_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%bool_t = OpTypeBool -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%bool_val = OpConstantTrue %bool_t -%true_val = OpConstant %int_t 1 -%false_val = OpConstant %int_t 0 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%val = OpSelect %int_t %bool_val %true_val %false_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_uchar_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_uchar_simple.spvasm32 deleted file mode 100644 index fd8e0d8b..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_uchar_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_uchar_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uchar_t = OpTypeInt 8 0 -%uchar_ptr_t = OpTypePointer CrossWorkgroup %uchar_t -%func_t = OpTypeFunction %void_t %uchar_ptr_t -%val = OpConstant %uchar_t 19 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uchar_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %uchar_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_uchar_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_uchar_simple.spvasm64 deleted file mode 100644 index acb6b3bf..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_uchar_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_uchar_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uchar_t = OpTypeInt 8 0 -%uchar_ptr_t = OpTypePointer CrossWorkgroup %uchar_t -%func_t = OpTypeFunction %void_t %uchar_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %uchar_t 19 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uchar_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %uchar_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_uint_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_uint_simple.spvasm32 deleted file mode 100644 index 563e5389..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_uint_simple.spvasm32 +++ /dev/null @@ -1,28 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_uint_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uint_t = OpTypeInt 32 0 -%uint_ptr_t = OpTypePointer CrossWorkgroup %uint_t -%func_t = OpTypeFunction %void_t %uint_ptr_t -%val = OpConstant %uint_t 54321 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uint_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %uint_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_uint_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_uint_simple.spvasm64 deleted file mode 100644 index e383513e..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_uint_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_uint_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uint_t = OpTypeInt 32 0 -%uint_ptr_t = OpTypePointer CrossWorkgroup %uint_t -%func_t = OpTypeFunction %void_t %uint_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %uint_t 54321 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uint_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %uint_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_ulong_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_ulong_simple.spvasm32 deleted file mode 100644 index 09e8e3fe..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_ulong_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_ulong_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ulong_t = OpTypeInt 64 0 -%ulong_ptr_t = OpTypePointer CrossWorkgroup %ulong_t -%func_t = OpTypeFunction %void_t %ulong_ptr_t -%val = OpConstant %ulong_t 9223372036854775810 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ulong_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %ulong_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_ulong_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_ulong_simple.spvasm64 deleted file mode 100644 index 87621844..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_ulong_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_ulong_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ulong_t = OpTypeInt 64 0 -%ulong_ptr_t = OpTypePointer CrossWorkgroup %ulong_t -%func_t = OpTypeFunction %void_t %ulong_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %ulong_t 9223372036854775810 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ulong_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %ulong_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_ushort_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/constant_ushort_simple.spvasm32 deleted file mode 100644 index 198a96da..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_ushort_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "constant_ushort_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ushort_t = OpTypeInt 16 0 -%ushort_ptr_t = OpTypePointer CrossWorkgroup %ushort_t -%func_t = OpTypeFunction %void_t %ushort_ptr_t -%val = OpConstant %ushort_t 65000 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ushort_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %ushort_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/constant_ushort_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/constant_ushort_simple.spvasm64 deleted file mode 100644 index a5c770b3..00000000 --- a/test_conformance/spirv_new/spirv_txt/constant_ushort_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "constant_ushort_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ushort_t = OpTypeInt 16 0 -%ushort_ptr_t = OpTypePointer CrossWorkgroup %ushort_t -%func_t = OpTypeFunction %void_t %ushort_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %ushort_t 65000 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ushort_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %ushort_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_char_simple.spvasm32 deleted file mode 100644 index ea1bb922..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_char_simple.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%func_t = OpTypeFunction %void_t %char_ptr_t -%val = OpConstant %char_t 20 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %char_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %char_ptr_t %inptr %idx -%out_val = OpCopyObject %char_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_char_simple.spvasm64 deleted file mode 100644 index 396898ff..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_char_simple.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%func_t = OpTypeFunction %void_t %char_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %char_t 20 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %char_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %char_ptr_t %inptr %idx -%out_val = OpCopyObject %char_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_double_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_double_simple.spvasm32 deleted file mode 100644 index 53d615e1..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_double_simple.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_double_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%func_t = OpTypeFunction %void_t %double_ptr_t -%val = OpConstant %double_t 3.141592653589793 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %double_ptr_t %inptr %idx -%out_val = OpCopyObject %double_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_double_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_double_simple.spvasm64 deleted file mode 100644 index 5ad9a360..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_double_simple.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_double_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%func_t = OpTypeFunction %void_t %double_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %double_t 3.141592653589793 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %double_ptr_t %inptr %idx -%out_val = OpCopyObject %double_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_float_simple.spvasm32 deleted file mode 100644 index ae8ac96f..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_float_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%val = OpConstant %float_t 3.1415927 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%out_val = OpCopyObject %float_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_float_simple.spvasm64 deleted file mode 100644 index 773e16ed..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_float_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %float_t 3.1415927 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%out_val = OpCopyObject %float_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_half_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_half_simple.spvasm32 deleted file mode 100644 index 07caf390..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_half_simple.spvasm32 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_half_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%half_t = OpTypeFloat 16 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%half_val = OpConstant %half_t 3.25 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%half_copy = OpCopyObject %half_t %half_val -%val = OpFConvert %float_t %half_copy -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_half_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_half_simple.spvasm64 deleted file mode 100644 index 165d71e6..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_half_simple.spvasm64 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_half_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%half_t = OpTypeFloat 16 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%half_val = OpConstant %half_t 3.25 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%half_copy = OpCopyObject %half_t %half_val -%val = OpFConvert %float_t %half_copy -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_int3_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_int3_simple.spvasm32 deleted file mode 100644 index 1cd2eca8..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_int3_simple.spvasm32 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_int3_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int3_t = OpTypeVector %int_t 3 -%int3_ptr_t = OpTypePointer CrossWorkgroup %int3_t -%func_t = OpTypeFunction %void_t %int3_ptr_t -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%vec = OpConstantComposite %int3_t %val0 %val1 %val2 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int3_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int3_ptr_t %inptr %idx -%out_vec = OpCopyObject %int3_t %vec - OpStore %current %out_vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_int3_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_int3_simple.spvasm64 deleted file mode 100644 index b2ec5289..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_int3_simple.spvasm64 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_int3_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int3_t = OpTypeVector %int_t 3 -%int3_ptr_t = OpTypePointer CrossWorkgroup %int3_t -%func_t = OpTypeFunction %void_t %int3_ptr_t -%shift_val = OpConstant %idx_t 32 -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%vec = OpConstantComposite %int3_t %val0 %val1 %val2 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int3_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int3_ptr_t %inptr %idx -%out_vec = OpCopyObject %int3_t %vec - OpStore %current %out_vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_int4_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_int4_simple.spvasm32 deleted file mode 100644 index f434988d..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_int4_simple.spvasm32 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_int4_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%val3 = OpConstant %int_t 119 -%vec = OpConstantComposite %int4_t %val0 %val1 %val2 %val3 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx -%out_vec = OpCopyObject %int4_t %vec - OpStore %current %out_vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_int4_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_int4_simple.spvasm64 deleted file mode 100644 index 62e1668b..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_int4_simple.spvasm64 +++ /dev/null @@ -1,38 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_int4_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%shift_val = OpConstant %idx_t 32 -%val0 = OpConstant %int_t 123 -%val1 = OpConstant %int_t 122 -%val2 = OpConstant %int_t 121 -%val3 = OpConstant %int_t 119 -%vec = OpConstantComposite %int4_t %val0 %val1 %val2 %val3 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx -%out_vec = OpCopyObject %int4_t %vec - OpStore %current %out_vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_int_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_int_simple.spvasm32 deleted file mode 100644 index 204409fd..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_int_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_int_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%val = OpConstant %int_t 123 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%out_val = OpCopyObject %int_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_int_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_int_simple.spvasm64 deleted file mode 100644 index 0af0641e..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_int_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_int_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %int_t 123 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%out_val = OpCopyObject %int_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_long_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_long_simple.spvasm32 deleted file mode 100644 index 3e317c77..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_long_simple.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_long_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%val = OpConstant %long_t 34359738368 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx -%out_val = OpCopyObject %long_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_long_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_long_simple.spvasm64 deleted file mode 100644 index 5e4a899c..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_long_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_long_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %long_t 34359738368 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx -%out_val = OpCopyObject %long_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_short_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_short_simple.spvasm32 deleted file mode 100644 index c4c00063..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_short_simple.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_short_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%val = OpConstant %short_t 32000 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx -%out_val = OpCopyObject %short_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_short_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_short_simple.spvasm64 deleted file mode 100644 index 6704cdd5..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_short_simple.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_short_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %short_t 32000 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx -%out_val = OpCopyObject %short_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_struct_int_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_struct_int_char_simple.spvasm32 deleted file mode 100644 index 836ce149..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_struct_int_char_simple.spvasm32 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Kernel - OpCapability Linkage - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_struct_int_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx -%out_val = OpCopyObject %struct_t %struct_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_struct_int_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_struct_int_char_simple.spvasm64 deleted file mode 100644 index 38d10920..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_struct_int_char_simple.spvasm64 +++ /dev/null @@ -1,38 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_struct_int_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx -%out_val = OpCopyObject %struct_t %struct_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_struct_int_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_struct_int_float_simple.spvasm32 deleted file mode 100644 index 1fe7188e..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_struct_int_float_simple.spvasm32 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Kernel - OpCapability Linkage - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_struct_int_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%float_t = OpTypeFloat 32 -%struct_t = OpTypeStruct %int_t %float_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%int_val = OpConstant %int_t 1024 -%float_val = OpConstant %float_t 3.1415 -%struct_val = OpConstantComposite %struct_t %int_val %float_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx -%out_val = OpCopyObject %struct_t %struct_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_struct_int_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_struct_int_float_simple.spvasm64 deleted file mode 100644 index 4293a921..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_struct_int_float_simple.spvasm64 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_struct_int_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%float_t = OpTypeFloat 32 -%struct_t = OpTypeStruct %int_t %float_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%int_val = OpConstant %int_t 1024 -%float_val = OpConstant %float_t 3.1415 -%struct_val = OpConstantComposite %struct_t %int_val %float_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx -%out_val = OpCopyObject %struct_t %struct_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_struct_struct_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_struct_struct_simple.spvasm32 deleted file mode 100644 index cc1959d3..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_struct_struct_simple.spvasm32 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Kernel - OpCapability Int8 - OpCapability Linkage - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_struct_struct_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int2_t = OpTypeVector %int_t 2 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct2_t = OpTypeStruct %int2_t %struct_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct2_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%int_vec_0 = OpConstant %int_t 2100480000 -%int_vec_1 = OpConstant %int_t 2100480000 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%int2_val = OpConstantComposite %int2_t %int_vec_0 %int_vec_1 -%struct2_val = OpConstantComposite %struct2_t %int2_val %struct_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx -%out_val = OpCopyObject %struct2_t %struct2_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_struct_struct_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_struct_struct_simple.spvasm64 deleted file mode 100644 index 2445bae0..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_struct_struct_simple.spvasm64 +++ /dev/null @@ -1,44 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_struct_struct_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int2_t = OpTypeVector %int_t 2 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct2_t = OpTypeStruct %int2_t %struct_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct2_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 128 -%int_vec_0 = OpConstant %int_t 2100480000 -%int_vec_1 = OpConstant %int_t 2100480000 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%int2_val = OpConstantComposite %int2_t %int_vec_0 %int_vec_1 -%struct2_val = OpConstantComposite %struct2_t %int2_val %struct_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx -%out_val = OpCopyObject %struct2_t %struct2_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_uchar_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_uchar_simple.spvasm32 deleted file mode 100644 index df648d9e..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_uchar_simple.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_uchar_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uchar_t = OpTypeInt 8 0 -%uchar_ptr_t = OpTypePointer CrossWorkgroup %uchar_t -%func_t = OpTypeFunction %void_t %uchar_ptr_t -%val = OpConstant %uchar_t 19 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uchar_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %uchar_ptr_t %inptr %idx -%out_val = OpCopyObject %uchar_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_uchar_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_uchar_simple.spvasm64 deleted file mode 100644 index 88bec6b6..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_uchar_simple.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_uchar_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uchar_t = OpTypeInt 8 0 -%uchar_ptr_t = OpTypePointer CrossWorkgroup %uchar_t -%func_t = OpTypeFunction %void_t %uchar_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %uchar_t 19 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uchar_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %uchar_ptr_t %inptr %idx -%out_val = OpCopyObject %uchar_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_uint_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_uint_simple.spvasm32 deleted file mode 100644 index 7e96279a..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_uint_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_uint_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uint_t = OpTypeInt 32 0 -%uint_ptr_t = OpTypePointer CrossWorkgroup %uint_t -%func_t = OpTypeFunction %void_t %uint_ptr_t -%val = OpConstant %uint_t 54321 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uint_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %uint_ptr_t %inptr %idx -%out_val = OpCopyObject %uint_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_uint_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_uint_simple.spvasm64 deleted file mode 100644 index 61b70281..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_uint_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_uint_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uint_t = OpTypeInt 32 0 -%uint_ptr_t = OpTypePointer CrossWorkgroup %uint_t -%func_t = OpTypeFunction %void_t %uint_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %uint_t 54321 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uint_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %uint_ptr_t %inptr %idx -%out_val = OpCopyObject %uint_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_ulong_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_ulong_simple.spvasm32 deleted file mode 100644 index 8135e14b..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_ulong_simple.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_ulong_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ulong_t = OpTypeInt 64 0 -%ulong_ptr_t = OpTypePointer CrossWorkgroup %ulong_t -%func_t = OpTypeFunction %void_t %ulong_ptr_t -%val = OpConstant %ulong_t 9223372036854775810 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ulong_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %ulong_ptr_t %inptr %idx -%out_val = OpCopyObject %ulong_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_ulong_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_ulong_simple.spvasm64 deleted file mode 100644 index 37cdc1f4..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_ulong_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_ulong_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ulong_t = OpTypeInt 64 0 -%ulong_ptr_t = OpTypePointer CrossWorkgroup %ulong_t -%func_t = OpTypeFunction %void_t %ulong_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %ulong_t 9223372036854775810 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ulong_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %ulong_ptr_t %inptr %idx -%out_val = OpCopyObject %ulong_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_ushort_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/copy_ushort_simple.spvasm32 deleted file mode 100644 index 091e3e4b..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_ushort_simple.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "copy_ushort_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ushort_t = OpTypeInt 16 0 -%ushort_ptr_t = OpTypePointer CrossWorkgroup %ushort_t -%func_t = OpTypeFunction %void_t %ushort_ptr_t -%val = OpConstant %ushort_t 65000 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ushort_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %ushort_ptr_t %inptr %idx -%out_val = OpCopyObject %ushort_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/copy_ushort_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/copy_ushort_simple.spvasm64 deleted file mode 100644 index 2aa5e122..00000000 --- a/test_conformance/spirv_new/spirv_txt/copy_ushort_simple.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "copy_ushort_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ushort_t = OpTypeInt 16 0 -%ushort_ptr_t = OpTypePointer CrossWorkgroup %ushort_t -%func_t = OpTypeFunction %void_t %ushort_ptr_t -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %ushort_t 65000 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ushort_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %ushort_ptr_t %inptr %idx -%out_val = OpCopyObject %ushort_t %val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_aliased.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_aliased.spvasm32 deleted file mode 100644 index bd6e575a..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_aliased.spvasm32 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_aliased" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Aliased -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %res %lhs %rhs -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_aliased.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_aliased.spvasm64 deleted file mode 100644 index beb2842a..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_aliased.spvasm64 +++ /dev/null @@ -1,43 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_aliased" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Aliased -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %res %lhs %rhs -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_alignment.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_alignment.spvasm32 deleted file mode 100644 index 48960abe..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_alignment.spvasm32 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_alignment" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Alignment 4 -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %res %lhs %rhs -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_alignment.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_alignment.spvasm64 deleted file mode 100644 index 980e74b6..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_alignment.spvasm64 +++ /dev/null @@ -1,43 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_alignment" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Alignment 4 -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %res %lhs %rhs -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_coherent.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_coherent.spvasm32 deleted file mode 100644 index 718fb36a..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_coherent.spvasm32 +++ /dev/null @@ -1,75 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability ImageBasic - OpCapability LiteralSampler - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %15 "decorate_coherent" - OpName %5 "sampler" - OpName %8 "__spirv_BuiltInGlobalInvocationId" - OpName %9 "__spirv_BuiltInGlobalSize" - OpName %16 "dst" - OpName %17 "src" - OpName %18 "entry" - OpName %20 "call" - OpName %22 "call1" - OpName %24 "call2" - OpName %25 "mul" - OpName %26 "add" - OpName %29 "vecinit" - OpName %30 "vecinit6" - OpName %34 "TempSampledImage" - OpName %35 "call7.old" - OpName %38 "arrayidx" - OpDecorate %17 Coherent - OpDecorate %39 Constant -%39 = OpDecorationGroup - OpDecorate %8 BuiltIn GlobalInvocationId - OpDecorate %9 BuiltIn GlobalSize - OpDecorate %16 FuncParamAttr NoCapture - OpDecorate %5 LinkageAttributes "sampler" Export - OpDecorate %9 LinkageAttributes "__spirv_BuiltInGlobalSize" Import - OpDecorate %8 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %5 Alignment 4 - OpGroupDecorate %39 %5 %8 %9 - %2 = OpTypeInt 32 0 - %3 = OpConstant %2 16 - %4 = OpTypePointer UniformConstant %2 - %6 = OpTypeVector %2 3 - %7 = OpTypePointer UniformConstant %6 -%10 = OpTypeVoid -%11 = OpTypeVector %2 4 -%12 = OpTypePointer CrossWorkgroup %11 -%13 = OpTypeImage %10 2D 0 0 0 0 Unknown -%14 = OpTypeFunction %10 %12 %13 -%27 = OpTypeVector %2 2 -%31 = OpTypeSampler -%33 = OpTypeSampledImage %13 -%36 = OpTypeFloat 32 -%32 = OpConstantSampler %31 None 0 Nearest -%37 = OpConstant %36 0 - %5 = OpVariable %4 UniformConstant %3 - %8 = OpVariable %7 UniformConstant - %9 = OpVariable %7 UniformConstant -%15 = OpFunction %10 None %14 -%16 = OpFunctionParameter %12 -%17 = OpFunctionParameter %13 -%18 = OpLabel -%28 = OpUndef %27 -%19 = OpLoad %6 %8 Aligned 0 -%20 = OpCompositeExtract %2 %19 0 -%21 = OpLoad %6 %8 Aligned 0 -%22 = OpCompositeExtract %2 %21 1 -%23 = OpLoad %6 %9 Aligned 0 -%24 = OpCompositeExtract %2 %23 0 -%25 = OpIMul %2 %24 %22 -%26 = OpIAdd %2 %25 %20 -%29 = OpCompositeInsert %27 %22 %28 0 -%30 = OpCompositeInsert %27 %20 %29 1 -%34 = OpSampledImage %33 %17 %32 -%35 = OpImageSampleExplicitLod %11 %34 %30 Lod %37 -%38 = OpInBoundsPtrAccessChain %12 %16 %26 - OpStore %38 %35 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_coherent.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_coherent.spvasm64 deleted file mode 100644 index 60604b24..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_coherent.spvasm64 +++ /dev/null @@ -1,88 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability ImageBasic - OpCapability LiteralSampler - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %16 "decorate_coherent" - OpName %5 "sampler" - OpName %9 "__spirv_BuiltInGlobalInvocationId" - OpName %10 "__spirv_BuiltInGlobalSize" - OpName %17 "dst" - OpName %18 "src" - OpName %19 "entry" - OpName %21 "call" - OpName %22 "conv" - OpName %24 "call1" - OpName %25 "conv2" - OpName %26 "conv3" - OpName %28 "call4" - OpName %29 "mul" - OpName %30 "add" - OpName %33 "vecinit" - OpName %34 "vecinit10" - OpName %38 "TempSampledImage" - OpName %39 "call11.old" - OpName %43 "sext" - OpName %44 "idxprom" - OpName %45 "arrayidx" - OpDecorate %18 Coherent - OpDecorate %46 Constant -%46 = OpDecorationGroup - OpDecorate %9 BuiltIn GlobalInvocationId - OpDecorate %10 BuiltIn GlobalSize - OpDecorate %17 FuncParamAttr NoCapture - OpDecorate %5 LinkageAttributes "sampler" Export - OpDecorate %10 LinkageAttributes "__spirv_BuiltInGlobalSize" Import - OpDecorate %9 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %5 Alignment 4 - OpGroupDecorate %46 %5 %9 %10 - %2 = OpTypeInt 32 0 - %6 = OpTypeInt 64 0 - %3 = OpConstant %2 16 -%42 = OpConstant %6 32 - %4 = OpTypePointer UniformConstant %2 - %7 = OpTypeVector %6 3 - %8 = OpTypePointer UniformConstant %7 -%11 = OpTypeVoid -%12 = OpTypeVector %2 4 -%13 = OpTypePointer CrossWorkgroup %12 -%14 = OpTypeImage %11 2D 0 0 0 0 Unknown -%15 = OpTypeFunction %11 %13 %14 -%31 = OpTypeVector %2 2 -%35 = OpTypeSampler -%37 = OpTypeSampledImage %14 -%40 = OpTypeFloat 32 -%36 = OpConstantSampler %35 None 0 Nearest -%41 = OpConstant %40 0 - %5 = OpVariable %4 UniformConstant %3 - %9 = OpVariable %8 UniformConstant -%10 = OpVariable %8 UniformConstant -%16 = OpFunction %11 None %15 -%17 = OpFunctionParameter %13 -%18 = OpFunctionParameter %14 -%19 = OpLabel -%32 = OpUndef %31 -%20 = OpLoad %7 %9 Aligned 0 -%21 = OpCompositeExtract %6 %20 0 -%22 = OpUConvert %2 %21 -%23 = OpLoad %7 %9 Aligned 0 -%24 = OpCompositeExtract %6 %23 1 -%25 = OpUConvert %2 %24 -%26 = OpSConvert %6 %25 -%27 = OpLoad %7 %10 Aligned 0 -%28 = OpCompositeExtract %6 %27 0 -%29 = OpIMul %6 %26 %28 -%30 = OpIAdd %6 %29 %21 -%33 = OpCompositeInsert %31 %25 %32 0 -%34 = OpCompositeInsert %31 %22 %33 1 -%38 = OpSampledImage %37 %18 %36 -%39 = OpImageSampleExplicitLod %12 %38 %34 Lod %41 -%43 = OpShiftLeftLogical %6 %30 %42 -%44 = OpShiftRightArithmetic %6 %43 %42 -%45 = OpInBoundsPtrAccessChain %13 %17 %44 - OpStore %45 %39 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_constant.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_constant.spvasm32 deleted file mode 100644 index 1f01838f..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_constant.spvasm32 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_constant" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Constant -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %lhs %rhs -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_constant.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_constant.spvasm64 deleted file mode 100644 index dff1925a..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_constant.spvasm64 +++ /dev/null @@ -1,43 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_constant" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Constant -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %lhs %rhs -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_constant_fail.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_constant_fail.spvasm32 deleted file mode 100644 index ab91da33..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_constant_fail.spvasm32 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_constant" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Constant -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %res %lhs %rhs -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_constant_fail.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_constant_fail.spvasm64 deleted file mode 100644 index 1c4bd986..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_constant_fail.spvasm64 +++ /dev/null @@ -1,43 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_constant" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Constant -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %res %lhs %rhs -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_cpacked.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_cpacked.spvasm32 deleted file mode 100644 index d8aa11d3..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_cpacked.spvasm32 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_cpacked" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %struct_t CPacked -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 127 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_cpacked.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_cpacked.spvasm64 deleted file mode 100644 index a4600c16..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_cpacked.spvasm64 +++ /dev/null @@ -1,38 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_cpacked" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %struct_t CPacked -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%int_val = OpConstant %int_t 2100483600 -%char_val = OpConstant %char_t 127 -%struct_val = OpConstantComposite %struct_t %int_val %char_val -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_nonreadable.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_nonreadable.spvasm32 deleted file mode 100644 index 8cc21d31..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_nonreadable.spvasm32 +++ /dev/null @@ -1,61 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability ImageBasic - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %12 "decorate_nonreadable" - OpSource OpenCL_C 100000 - OpName %5 "__spirv_BuiltInGlobalInvocationId" - OpName %6 "__spirv_BuiltInGlobalSize" - OpName %13 "dst" - OpName %14 "src" - OpName %15 "entry" - OpName %17 "call" - OpName %19 "call1" - OpName %21 "call2" - OpName %22 "mul" - OpName %23 "add" - OpName %26 "vecinit" - OpName %27 "vecinit3" - OpName %28 "arrayidx" - OpDecorate %13 NonReadable - OpDecorate %30 Constant -%30 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %6 BuiltIn GlobalSize - OpDecorate %14 FuncParamAttr NoCapture - OpDecorate %6 LinkageAttributes "__spirv_BuiltInGlobalSize" Import - OpDecorate %5 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpGroupDecorate %30 %5 %6 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %7 = OpTypeVoid - %8 = OpTypeImage %7 2D 0 0 0 0 Unknown WriteOnly - %9 = OpTypeVector %2 4 -%10 = OpTypePointer CrossWorkgroup %9 -%11 = OpTypeFunction %7 %8 %10 -%24 = OpTypeVector %2 2 - %5 = OpVariable %4 UniformConstant - %6 = OpVariable %4 UniformConstant -%12 = OpFunction %7 None %11 -%13 = OpFunctionParameter %8 -%14 = OpFunctionParameter %10 -%15 = OpLabel -%25 = OpUndef %24 -%16 = OpLoad %3 %5 Aligned 0 -%17 = OpCompositeExtract %2 %16 0 -%18 = OpLoad %3 %5 Aligned 0 -%19 = OpCompositeExtract %2 %18 1 -%20 = OpLoad %3 %6 Aligned 0 -%21 = OpCompositeExtract %2 %20 0 -%22 = OpIMul %2 %21 %19 -%23 = OpIAdd %2 %22 %17 -%26 = OpCompositeInsert %24 %19 %25 0 -%27 = OpCompositeInsert %24 %17 %26 1 -%28 = OpInBoundsPtrAccessChain %10 %14 %23 -%29 = OpLoad %9 %28 Aligned 16 - OpImageWrite %13 %27 %29 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_nonreadable.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_nonreadable.spvasm64 deleted file mode 100644 index 71b2a26b..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_nonreadable.spvasm64 +++ /dev/null @@ -1,74 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability ImageBasic - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %13 "decorate_nonreadable" - OpSource OpenCL_C 100000 - OpName %5 "__spirv_BuiltInGlobalInvocationId" - OpName %6 "__spirv_BuiltInGlobalSize" - OpName %14 "dst" - OpName %15 "src" - OpName %16 "entry" - OpName %18 "call" - OpName %19 "conv" - OpName %21 "call1" - OpName %22 "conv2" - OpName %23 "conv3" - OpName %25 "call4" - OpName %26 "mul" - OpName %27 "add" - OpName %30 "vecinit" - OpName %31 "vecinit7" - OpName %33 "sext" - OpName %34 "idxprom" - OpName %35 "arrayidx" - OpDecorate %14 NonReadable - OpDecorate %37 Constant -%37 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %6 BuiltIn GlobalSize - OpDecorate %15 FuncParamAttr NoCapture - OpDecorate %6 LinkageAttributes "__spirv_BuiltInGlobalSize" Import - OpDecorate %5 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpGroupDecorate %37 %5 %6 - %2 = OpTypeInt 64 0 - %9 = OpTypeInt 32 0 -%32 = OpConstant %2 32 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %7 = OpTypeVoid - %8 = OpTypeImage %7 2D 0 0 0 0 Unknown WriteOnly -%10 = OpTypeVector %9 4 -%11 = OpTypePointer CrossWorkgroup %10 -%12 = OpTypeFunction %7 %8 %11 -%28 = OpTypeVector %9 2 - %5 = OpVariable %4 UniformConstant - %6 = OpVariable %4 UniformConstant -%13 = OpFunction %7 None %12 -%14 = OpFunctionParameter %8 -%15 = OpFunctionParameter %11 -%16 = OpLabel -%29 = OpUndef %28 -%17 = OpLoad %3 %5 Aligned 0 -%18 = OpCompositeExtract %2 %17 0 -%19 = OpUConvert %9 %18 -%20 = OpLoad %3 %5 Aligned 0 -%21 = OpCompositeExtract %2 %20 1 -%22 = OpUConvert %9 %21 -%23 = OpSConvert %2 %22 -%24 = OpLoad %3 %6 Aligned 0 -%25 = OpCompositeExtract %2 %24 0 -%26 = OpIMul %2 %23 %25 -%27 = OpIAdd %2 %26 %18 -%30 = OpCompositeInsert %28 %22 %29 0 -%31 = OpCompositeInsert %28 %19 %30 1 -%33 = OpShiftLeftLogical %2 %27 %32 -%34 = OpShiftRightArithmetic %2 %33 %32 -%35 = OpInBoundsPtrAccessChain %11 %15 %34 -%36 = OpLoad %10 %35 Aligned 16 - OpImageWrite %14 %31 %36 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_nonwritable.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_nonwritable.spvasm32 deleted file mode 100644 index b7ae2793..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_nonwritable.spvasm32 +++ /dev/null @@ -1,75 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability ImageBasic - OpCapability LiteralSampler - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %15 "decorate_nonwritable" - OpName %5 "sampler" - OpName %8 "__spirv_BuiltInGlobalInvocationId" - OpName %9 "__spirv_BuiltInGlobalSize" - OpName %16 "dst" - OpName %17 "src" - OpName %18 "entry" - OpName %20 "call" - OpName %22 "call1" - OpName %24 "call2" - OpName %25 "mul" - OpName %26 "add" - OpName %29 "vecinit" - OpName %30 "vecinit6" - OpName %34 "TempSampledImage" - OpName %35 "call7.old" - OpName %38 "arrayidx" - OpDecorate %17 NonWritable - OpDecorate %39 Constant -%39 = OpDecorationGroup - OpDecorate %8 BuiltIn GlobalInvocationId - OpDecorate %9 BuiltIn GlobalSize - OpDecorate %16 FuncParamAttr NoCapture - OpDecorate %5 LinkageAttributes "sampler" Export - OpDecorate %9 LinkageAttributes "__spirv_BuiltInGlobalSize" Import - OpDecorate %8 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %5 Alignment 4 - OpGroupDecorate %39 %5 %8 %9 - %2 = OpTypeInt 32 0 - %3 = OpConstant %2 16 - %4 = OpTypePointer UniformConstant %2 - %6 = OpTypeVector %2 3 - %7 = OpTypePointer UniformConstant %6 -%10 = OpTypeVoid -%11 = OpTypeVector %2 4 -%12 = OpTypePointer CrossWorkgroup %11 -%13 = OpTypeImage %10 2D 0 0 0 0 Unknown ReadOnly -%14 = OpTypeFunction %10 %12 %13 -%27 = OpTypeVector %2 2 -%31 = OpTypeSampler -%33 = OpTypeSampledImage %13 -%36 = OpTypeFloat 32 -%32 = OpConstantSampler %31 None 0 Nearest -%37 = OpConstant %36 0 - %5 = OpVariable %4 UniformConstant %3 - %8 = OpVariable %7 UniformConstant - %9 = OpVariable %7 UniformConstant -%15 = OpFunction %10 None %14 -%16 = OpFunctionParameter %12 -%17 = OpFunctionParameter %13 -%18 = OpLabel -%28 = OpUndef %27 -%19 = OpLoad %6 %8 Aligned 0 -%20 = OpCompositeExtract %2 %19 0 -%21 = OpLoad %6 %8 Aligned 0 -%22 = OpCompositeExtract %2 %21 1 -%23 = OpLoad %6 %9 Aligned 0 -%24 = OpCompositeExtract %2 %23 0 -%25 = OpIMul %2 %24 %22 -%26 = OpIAdd %2 %25 %20 -%29 = OpCompositeInsert %27 %22 %28 0 -%30 = OpCompositeInsert %27 %20 %29 1 -%34 = OpSampledImage %33 %17 %32 -%35 = OpImageSampleExplicitLod %11 %34 %30 Lod %37 -%38 = OpInBoundsPtrAccessChain %12 %16 %26 - OpStore %38 %35 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_nonwritable.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_nonwritable.spvasm64 deleted file mode 100644 index fca00d84..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_nonwritable.spvasm64 +++ /dev/null @@ -1,88 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability ImageBasic - OpCapability LiteralSampler - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %16 "decorate_nonwritable" - OpName %5 "sampler" - OpName %9 "__spirv_BuiltInGlobalInvocationId" - OpName %10 "__spirv_BuiltInGlobalSize" - OpName %17 "dst" - OpName %18 "src" - OpName %19 "entry" - OpName %21 "call" - OpName %22 "conv" - OpName %24 "call1" - OpName %25 "conv2" - OpName %26 "conv3" - OpName %28 "call4" - OpName %29 "mul" - OpName %30 "add" - OpName %33 "vecinit" - OpName %34 "vecinit10" - OpName %38 "TempSampledImage" - OpName %39 "call11.old" - OpName %43 "sext" - OpName %44 "idxprom" - OpName %45 "arrayidx" - OpDecorate %18 NonWritable - OpDecorate %46 Constant -%46 = OpDecorationGroup - OpDecorate %9 BuiltIn GlobalInvocationId - OpDecorate %10 BuiltIn GlobalSize - OpDecorate %17 FuncParamAttr NoCapture - OpDecorate %5 LinkageAttributes "sampler" Export - OpDecorate %10 LinkageAttributes "__spirv_BuiltInGlobalSize" Import - OpDecorate %9 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %5 Alignment 4 - OpGroupDecorate %46 %5 %9 %10 - %2 = OpTypeInt 32 0 - %6 = OpTypeInt 64 0 - %3 = OpConstant %2 16 -%42 = OpConstant %6 32 - %4 = OpTypePointer UniformConstant %2 - %7 = OpTypeVector %6 3 - %8 = OpTypePointer UniformConstant %7 -%11 = OpTypeVoid -%12 = OpTypeVector %2 4 -%13 = OpTypePointer CrossWorkgroup %12 -%14 = OpTypeImage %11 2D 0 0 0 0 Unknown ReadOnly -%15 = OpTypeFunction %11 %13 %14 -%31 = OpTypeVector %2 2 -%35 = OpTypeSampler -%37 = OpTypeSampledImage %14 -%40 = OpTypeFloat 32 -%36 = OpConstantSampler %35 None 0 Nearest -%41 = OpConstant %40 0 - %5 = OpVariable %4 UniformConstant %3 - %9 = OpVariable %8 UniformConstant -%10 = OpVariable %8 UniformConstant -%16 = OpFunction %11 None %15 -%17 = OpFunctionParameter %13 -%18 = OpFunctionParameter %14 -%19 = OpLabel -%32 = OpUndef %31 -%20 = OpLoad %7 %9 Aligned 0 -%21 = OpCompositeExtract %6 %20 0 -%22 = OpUConvert %2 %21 -%23 = OpLoad %7 %9 Aligned 0 -%24 = OpCompositeExtract %6 %23 1 -%25 = OpUConvert %2 %24 -%26 = OpSConvert %6 %25 -%27 = OpLoad %7 %10 Aligned 0 -%28 = OpCompositeExtract %6 %27 0 -%29 = OpIMul %6 %26 %28 -%30 = OpIAdd %6 %29 %21 -%33 = OpCompositeInsert %31 %25 %32 0 -%34 = OpCompositeInsert %31 %22 %33 1 -%38 = OpSampledImage %37 %18 %36 -%39 = OpImageSampleExplicitLod %12 %38 %34 Lod %41 -%43 = OpShiftLeftLogical %6 %30 %42 -%44 = OpShiftRightArithmetic %6 %43 %42 -%45 = OpInBoundsPtrAccessChain %13 %17 %44 - OpStore %45 %39 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_restrict.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_restrict.spvasm32 deleted file mode 100644 index a8f002b5..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_restrict.spvasm32 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_restrict" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Restrict -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %res %lhs %rhs -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_restrict.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_restrict.spvasm64 deleted file mode 100644 index 470d8bed..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_restrict.spvasm64 +++ /dev/null @@ -1,43 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_restrict" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %dec_group Restrict -%dec_group = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec_group %res %lhs %rhs -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %int_ptr_t -%rhs = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %lhs %idx -%lhs_val = OpLoad %int_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %int_ptr_t %rhs %idx -%rhs_val = OpLoad %int_t %rhs_curr Aligned 4 -%res_val = OpIAdd %int_t %lhs_val %rhs_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_double_long.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_double_long.spvasm32 deleted file mode 100644 index 341f6d9e..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_double_long.spvasm32 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rte_double_long" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val FPRoundingMode RTE -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 64 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr -%res_val = OpConvertFToS %int_t %in_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_double_long.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_double_long.spvasm64 deleted file mode 100644 index 3ec0b291..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_double_long.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rte_double_long" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %out_val FPRoundingMode RTE -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 64 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr -%out_val = OpConvertFToS %int_t %in_val -%out_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %out_curr %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_float_int.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_float_int.spvasm32 deleted file mode 100644 index d9ed3545..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_float_int.spvasm32 +++ /dev/null @@ -1,35 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rte_float_int" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val FPRoundingMode RTE -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr Aligned 4 -%res_val = OpConvertFToS %int_t %in_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_float_int.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_float_int.spvasm64 deleted file mode 100644 index 15cda593..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rte_float_int.spvasm64 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rte_float_int" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %out_val FPRoundingMode RTE -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr Aligned 4 -%out_val = OpConvertFToS %int_t %in_val -%out_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %out_curr %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_double_long.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_double_long.spvasm32 deleted file mode 100644 index f314a0fd..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_double_long.spvasm32 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtn_double_long" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val FPRoundingMode RTN -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 64 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr -%res_val = OpConvertFToS %int_t %in_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_double_long.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_double_long.spvasm64 deleted file mode 100644 index 419b8afa..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_double_long.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtn_double_long" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %out_val FPRoundingMode RTN -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 64 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr -%out_val = OpConvertFToS %int_t %in_val -%out_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %out_curr %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_float_int.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_float_int.spvasm32 deleted file mode 100644 index d5c1b854..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_float_int.spvasm32 +++ /dev/null @@ -1,35 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtn_float_int" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val FPRoundingMode RTN -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr Aligned 4 -%res_val = OpConvertFToS %int_t %in_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_float_int.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_float_int.spvasm64 deleted file mode 100644 index a66855f0..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtn_float_int.spvasm64 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtn_float_int" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %out_val FPRoundingMode RTN -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr Aligned 4 -%out_val = OpConvertFToS %int_t %in_val -%out_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %out_curr %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_double_long.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_double_long.spvasm32 deleted file mode 100644 index abadb9b6..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_double_long.spvasm32 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtp_double_long" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val FPRoundingMode RTP -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 64 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr -%res_val = OpConvertFToS %int_t %in_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_double_long.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_double_long.spvasm64 deleted file mode 100644 index 2e47c119..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_double_long.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtp_double_long" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %out_val FPRoundingMode RTP -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 64 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr -%out_val = OpConvertFToS %int_t %in_val -%out_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %out_curr %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_float_int.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_float_int.spvasm32 deleted file mode 100644 index bc3458af..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_float_int.spvasm32 +++ /dev/null @@ -1,35 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtp_float_int" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val FPRoundingMode RTP -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr Aligned 4 -%res_val = OpConvertFToS %int_t %in_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_float_int.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_float_int.spvasm64 deleted file mode 100644 index 59c11604..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtp_float_int.spvasm64 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtp_float_int" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %out_val FPRoundingMode RTP -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr Aligned 4 -%out_val = OpConvertFToS %int_t %in_val -%out_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %out_curr %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_double_long.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_double_long.spvasm32 deleted file mode 100644 index 7bb34ddf..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_double_long.spvasm32 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtz_double_long" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val FPRoundingMode RTZ -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 64 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr -%res_val = OpConvertFToS %int_t %in_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_double_long.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_double_long.spvasm64 deleted file mode 100644 index 90fbb2d5..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_double_long.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtz_double_long" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %out_val FPRoundingMode RTZ -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 64 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr -%out_val = OpConvertFToS %int_t %in_val -%out_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %out_curr %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_float_int.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_float_int.spvasm32 deleted file mode 100644 index fe726197..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_float_int.spvasm32 +++ /dev/null @@ -1,35 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtz_float_int" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val FPRoundingMode RTZ -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr Aligned 4 -%res_val = OpConvertFToS %int_t %in_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_float_int.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_float_int.spvasm64 deleted file mode 100644 index f3dda3b8..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_rounding_rtz_float_int.spvasm64 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_rounding_rtz_float_int" - OpName %out "res" - OpName %in "in" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %out_val FPRoundingMode RTZ -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out = OpFunctionParameter %int_ptr_t -%in = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_curr = OpInBoundsPtrAccessChain %float_ptr_t %in %idx -%in_val = OpLoad %float_t %in_curr Aligned 4 -%out_val = OpConvertFToS %int_t %in_val -%out_curr = OpInBoundsPtrAccessChain %int_ptr_t %out %idx - OpStore %out_curr %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_char.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_char.spvasm32 deleted file mode 100644 index 58ac84aa..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_char.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_char" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 8 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr Aligned 4 -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToS %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_char.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_char.spvasm64 deleted file mode 100644 index 82d7cd5d..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_char.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_char" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 8 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr Aligned 4 -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToS %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_int.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_int.spvasm32 deleted file mode 100644 index d50fcaee..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_int.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_int" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToS %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_int.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_int.spvasm64 deleted file mode 100644 index 737aa0ab..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_int.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_int" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToS %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_short.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_short.spvasm32 deleted file mode 100644 index abff4a7b..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_short.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_short" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 16 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr Aligned 4 -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToS %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_short.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_short.spvasm64 deleted file mode 100644 index 54e82f47..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_short.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_short" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 16 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr Aligned 4 -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToS %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uchar.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uchar.spvasm32 deleted file mode 100644 index 2f9b5a9e..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uchar.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_uchar" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 8 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr Aligned 4 -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToU %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uchar.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uchar.spvasm64 deleted file mode 100644 index 77f6af0c..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uchar.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_uchar" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 8 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr Aligned 4 -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToU %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uint.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uint.spvasm32 deleted file mode 100644 index 352d61b5..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uint.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_uint" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToU %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uint.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uint.spvasm64 deleted file mode 100644 index 10067f8a..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_uint.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_uint" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 64 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToS %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_ushort.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_ushort.spvasm32 deleted file mode 100644 index bdc56e7d..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_ushort.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_ushort" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 16 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr Aligned 4 -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToU %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_ushort.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_ushort.spvasm64 deleted file mode 100644 index 81f341be..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_saturated_conversion_ushort.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "decorate_saturated_conversion_ushort" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpName %entry "entry" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %res_val SaturatedConversion -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 16 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %int_ptr_t %float_ptr_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %int_ptr_t -%lhs = OpFunctionParameter %float_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %lhs %idx -%lhs_val = OpLoad %float_t %lhs_curr Aligned 4 -%rhs_curr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_curr Aligned 4 -%float_val = OpFMul %float_t %lhs_val %rhs_val -%res_val = OpConvertFToU %int_t %float_val -%res_curr = OpInBoundsPtrAccessChain %int_ptr_t %res %idx - OpStore %res_curr %res_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_volatile.spvasm32 b/test_conformance/spirv_new/spirv_txt/decorate_volatile.spvasm32 deleted file mode 100644 index c86b54b0..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_volatile.spvasm32 +++ /dev/null @@ -1,75 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability ImageBasic - OpCapability LiteralSampler - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %15 "decorate_volatile" - OpName %5 "sampler" - OpName %8 "__spirv_BuiltInGlobalInvocationId" - OpName %9 "__spirv_BuiltInGlobalSize" - OpName %16 "dst" - OpName %17 "src" - OpName %18 "entry" - OpName %20 "call" - OpName %22 "call1" - OpName %24 "call2" - OpName %25 "mul" - OpName %26 "add" - OpName %29 "vecinit" - OpName %30 "vecinit6" - OpName %34 "TempSampledImage" - OpName %35 "call7.old" - OpName %38 "arrayidx" - OpDecorate %17 Volatile - OpDecorate %39 Constant -%39 = OpDecorationGroup - OpDecorate %8 BuiltIn GlobalInvocationId - OpDecorate %9 BuiltIn GlobalSize - OpDecorate %16 FuncParamAttr NoCapture - OpDecorate %5 LinkageAttributes "sampler" Export - OpDecorate %9 LinkageAttributes "__spirv_BuiltInGlobalSize" Import - OpDecorate %8 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %5 Alignment 4 - OpGroupDecorate %39 %5 %8 %9 - %2 = OpTypeInt 32 0 - %3 = OpConstant %2 16 - %4 = OpTypePointer UniformConstant %2 - %6 = OpTypeVector %2 3 - %7 = OpTypePointer UniformConstant %6 -%10 = OpTypeVoid -%11 = OpTypeVector %2 4 -%12 = OpTypePointer CrossWorkgroup %11 -%13 = OpTypeImage %10 2D 0 0 0 0 Unknown -%14 = OpTypeFunction %10 %12 %13 -%27 = OpTypeVector %2 2 -%31 = OpTypeSampler -%33 = OpTypeSampledImage %13 -%36 = OpTypeFloat 32 -%32 = OpConstantSampler %31 None 0 Nearest -%37 = OpConstant %36 0 - %5 = OpVariable %4 UniformConstant %3 - %8 = OpVariable %7 UniformConstant - %9 = OpVariable %7 UniformConstant -%15 = OpFunction %10 None %14 -%16 = OpFunctionParameter %12 -%17 = OpFunctionParameter %13 -%18 = OpLabel -%28 = OpUndef %27 -%19 = OpLoad %6 %8 Aligned 0 -%20 = OpCompositeExtract %2 %19 0 -%21 = OpLoad %6 %8 Aligned 0 -%22 = OpCompositeExtract %2 %21 1 -%23 = OpLoad %6 %9 Aligned 0 -%24 = OpCompositeExtract %2 %23 0 -%25 = OpIMul %2 %24 %22 -%26 = OpIAdd %2 %25 %20 -%29 = OpCompositeInsert %27 %22 %28 0 -%30 = OpCompositeInsert %27 %20 %29 1 -%34 = OpSampledImage %33 %17 %32 -%35 = OpImageSampleExplicitLod %11 %34 %30 Lod %37 -%38 = OpInBoundsPtrAccessChain %12 %16 %26 - OpStore %38 %35 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/decorate_volatile.spvasm64 b/test_conformance/spirv_new/spirv_txt/decorate_volatile.spvasm64 deleted file mode 100644 index 0f32fba4..00000000 --- a/test_conformance/spirv_new/spirv_txt/decorate_volatile.spvasm64 +++ /dev/null @@ -1,88 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability ImageBasic - OpCapability LiteralSampler - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %16 "decorate_volatile" - OpName %5 "sampler" - OpName %9 "__spirv_BuiltInGlobalInvocationId" - OpName %10 "__spirv_BuiltInGlobalSize" - OpName %17 "dst" - OpName %18 "src" - OpName %19 "entry" - OpName %21 "call" - OpName %22 "conv" - OpName %24 "call1" - OpName %25 "conv2" - OpName %26 "conv3" - OpName %28 "call4" - OpName %29 "mul" - OpName %30 "add" - OpName %33 "vecinit" - OpName %34 "vecinit10" - OpName %38 "TempSampledImage" - OpName %39 "call11.old" - OpName %43 "sext" - OpName %44 "idxprom" - OpName %45 "arrayidx" - OpDecorate %18 Volatile - OpDecorate %46 Constant -%46 = OpDecorationGroup - OpDecorate %9 BuiltIn GlobalInvocationId - OpDecorate %10 BuiltIn GlobalSize - OpDecorate %17 FuncParamAttr NoCapture - OpDecorate %5 LinkageAttributes "sampler" Export - OpDecorate %10 LinkageAttributes "__spirv_BuiltInGlobalSize" Import - OpDecorate %9 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %5 Alignment 4 - OpGroupDecorate %46 %5 %9 %10 - %2 = OpTypeInt 32 0 - %6 = OpTypeInt 64 0 - %3 = OpConstant %2 16 -%42 = OpConstant %6 32 - %4 = OpTypePointer UniformConstant %2 - %7 = OpTypeVector %6 3 - %8 = OpTypePointer UniformConstant %7 -%11 = OpTypeVoid -%12 = OpTypeVector %2 4 -%13 = OpTypePointer CrossWorkgroup %12 -%14 = OpTypeImage %11 2D 0 0 0 0 Unknown -%15 = OpTypeFunction %11 %13 %14 -%31 = OpTypeVector %2 2 -%35 = OpTypeSampler -%37 = OpTypeSampledImage %14 -%40 = OpTypeFloat 32 -%36 = OpConstantSampler %35 None 0 Nearest -%41 = OpConstant %40 0 - %5 = OpVariable %4 UniformConstant %3 - %9 = OpVariable %8 UniformConstant -%10 = OpVariable %8 UniformConstant -%16 = OpFunction %11 None %15 -%17 = OpFunctionParameter %13 -%18 = OpFunctionParameter %14 -%19 = OpLabel -%32 = OpUndef %31 -%20 = OpLoad %7 %9 Aligned 0 -%21 = OpCompositeExtract %6 %20 0 -%22 = OpUConvert %2 %21 -%23 = OpLoad %7 %9 Aligned 0 -%24 = OpCompositeExtract %6 %23 1 -%25 = OpUConvert %2 %24 -%26 = OpSConvert %6 %25 -%27 = OpLoad %7 %10 Aligned 0 -%28 = OpCompositeExtract %6 %27 0 -%29 = OpIMul %6 %26 %28 -%30 = OpIAdd %6 %29 %21 -%33 = OpCompositeInsert %31 %25 %32 0 -%34 = OpCompositeInsert %31 %22 %33 1 -%38 = OpSampledImage %37 %18 %36 -%39 = OpImageSampleExplicitLod %12 %38 %34 Lod %41 -%43 = OpShiftLeftLogical %6 %30 %42 -%44 = OpShiftRightArithmetic %6 %43 %42 -%45 = OpInBoundsPtrAccessChain %13 %17 %44 - OpStore %45 %39 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm32 b/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm32 deleted file mode 100644 index b4993029..00000000 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm32 +++ /dev/null @@ -1,49 +0,0 @@ -; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 25 -; Schema: 0 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %9 "fmath_cl" - OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" - OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" - OpName %out "out" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %24 FuncParamAttr NoWrite - %24 = OpDecorationGroup - OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId - OpDecorate %__spirv_BuiltInGlobalInvocationId Constant - OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %22 NoSignedWrap - OpGroupDecorate %24 %lhs %rhs - %uint = OpTypeInt 32 0 - %uint_31 = OpConstant %uint 31 - %v3uint = OpTypeVector %uint 3 -%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint - %void = OpTypeVoid -%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %8 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint -%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant - %9 = OpFunction %void None %8 - %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %13 = OpLabel - %14 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId - %15 = OpCompositeExtract %uint %14 0 - %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 - %17 = OpLoad %uint %16 Aligned 4 - %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 - %19 = OpLoad %uint %18 Aligned 4 - %21 = OpBitwiseAnd %uint %19 %uint_31 - %22 = OpShiftLeftLogical %uint %17 %21 - %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %15 - OpStore %23 %22 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm64 b/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm64 deleted file mode 100644 index eaac7975..00000000 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_int.spvasm64 +++ /dev/null @@ -1,55 +0,0 @@ -; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 30 -; Schema: 0 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_cl" - OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" - OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" - OpName %out "out" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %29 FuncParamAttr NoWrite - %29 = OpDecorationGroup - OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId - OpDecorate %__spirv_BuiltInGlobalInvocationId Constant - OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %26 NoSignedWrap - OpGroupDecorate %29 %lhs %rhs - %ulong = OpTypeInt 64 0 - %uint = OpTypeInt 32 0 - %uint_31 = OpConstant %uint 31 - %v3ulong = OpTypeVector %ulong 3 -%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong - %void = OpTypeVoid -%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint -%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant - %10 = OpFunction %void None %9 - %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %14 = OpLabel - %15 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId - %16 = OpCompositeExtract %ulong %15 0 - %17 = OpUConvert %uint %16 - %18 = OpSConvert %ulong %17 - %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 - %20 = OpLoad %uint %19 Aligned 4 - %21 = OpSConvert %ulong %17 - %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 - %23 = OpLoad %uint %22 Aligned 4 - %25 = OpBitwiseAnd %uint %23 %uint_31 - %26 = OpShiftLeftLogical %uint %20 %25 - %27 = OpSConvert %ulong %17 - %28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %27 - OpStore %28 %26 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm32 b/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm32 deleted file mode 100644 index be3cbd10..00000000 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm32 +++ /dev/null @@ -1,49 +0,0 @@ -; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 25 -; Schema: 0 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %9 "fmath_cl" - OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" - OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" - OpName %out "out" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %24 FuncParamAttr NoWrite - %24 = OpDecorationGroup - OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId - OpDecorate %__spirv_BuiltInGlobalInvocationId Constant - OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %22 NoUnsignedWrap - OpGroupDecorate %24 %lhs %rhs - %uint = OpTypeInt 32 0 - %uint_31 = OpConstant %uint 31 - %v3uint = OpTypeVector %uint 3 -%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint - %void = OpTypeVoid -%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %8 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint -%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant - %9 = OpFunction %void None %8 - %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %13 = OpLabel - %14 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId - %15 = OpCompositeExtract %uint %14 0 - %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 - %17 = OpLoad %uint %16 Aligned 4 - %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 - %19 = OpLoad %uint %18 Aligned 4 - %21 = OpBitwiseAnd %uint %19 %uint_31 - %22 = OpShiftLeftLogical %uint %17 %21 - %23 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %15 - OpStore %23 %22 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm64 b/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm64 deleted file mode 100644 index 92c1b68a..00000000 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fshiftleft_uint.spvasm64 +++ /dev/null @@ -1,55 +0,0 @@ -; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 30 -; Schema: 0 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_cl" - OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" - OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" - OpName %out "out" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %29 FuncParamAttr NoWrite - %29 = OpDecorationGroup - OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId - OpDecorate %__spirv_BuiltInGlobalInvocationId Constant - OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpDecorate %26 NoUnsignedWrap - OpGroupDecorate %29 %lhs %rhs - %ulong = OpTypeInt 64 0 - %uint = OpTypeInt 32 0 - %uint_31 = OpConstant %uint 31 - %v3ulong = OpTypeVector %ulong 3 -%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong - %void = OpTypeVoid -%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint -%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant - %10 = OpFunction %void None %9 - %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %14 = OpLabel - %15 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId - %16 = OpCompositeExtract %ulong %15 0 - %17 = OpUConvert %uint %16 - %18 = OpSConvert %ulong %17 - %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 - %20 = OpLoad %uint %19 Aligned 4 - %21 = OpSConvert %ulong %17 - %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 - %23 = OpLoad %uint %22 Aligned 4 - %25 = OpBitwiseAnd %uint %23 %uint_31 - %26 = OpShiftLeftLogical %uint %20 %25 - %27 = OpSConvert %ulong %17 - %28 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %27 - OpStore %28 %26 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm32 b/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm32 deleted file mode 100644 index af43596a..00000000 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm32 +++ /dev/null @@ -1,47 +0,0 @@ -; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 23 -; Schema: 0 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %9 "fmath_cl" - OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" - OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" - OpName %out "out" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %22 FuncParamAttr NoWrite - %22 = OpDecorationGroup - OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId - OpDecorate %__spirv_BuiltInGlobalInvocationId Constant - OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpGroupDecorate %22 %lhs %rhs - OpDecorate %20 NoSignedWrap - %uint = OpTypeInt 32 0 - %v3uint = OpTypeVector %uint 3 -%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint - %void = OpTypeVoid -%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %8 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint -%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant - %9 = OpFunction %void None %8 - %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %13 = OpLabel - %14 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId - %15 = OpCompositeExtract %uint %14 0 - %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 - %17 = OpLoad %uint %16 Aligned 4 - %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 - %19 = OpLoad %uint %18 Aligned 4 - %20 = OpISub %uint %17 %19 - %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %15 - OpStore %21 %20 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm64 b/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm64 deleted file mode 100644 index 8c60c5dd..00000000 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_int.spvasm64 +++ /dev/null @@ -1,53 +0,0 @@ -; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 28 -; Schema: 0 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_cl" - OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" - OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" - OpName %out "out" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %27 FuncParamAttr NoWrite - %27 = OpDecorationGroup - OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId - OpDecorate %__spirv_BuiltInGlobalInvocationId Constant - OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpGroupDecorate %27 %lhs %rhs - OpDecorate %24 NoSignedWrap - %ulong = OpTypeInt 64 0 - %uint = OpTypeInt 32 0 - %v3ulong = OpTypeVector %ulong 3 -%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong - %void = OpTypeVoid -%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint -%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant - %10 = OpFunction %void None %9 - %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %14 = OpLabel - %15 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId - %16 = OpCompositeExtract %ulong %15 0 - %17 = OpUConvert %uint %16 - %18 = OpSConvert %ulong %17 - %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 - %20 = OpLoad %uint %19 Aligned 4 - %21 = OpSConvert %ulong %17 - %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 - %23 = OpLoad %uint %22 Aligned 4 - %24 = OpISub %uint %20 %23 - %25 = OpSConvert %ulong %17 - %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %25 - OpStore %26 %24 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm32 b/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm32 deleted file mode 100644 index bbf232b9..00000000 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm32 +++ /dev/null @@ -1,47 +0,0 @@ -; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 23 -; Schema: 0 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %9 "fmath_cl" - OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" - OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" - OpName %out "out" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %22 FuncParamAttr NoWrite - %22 = OpDecorationGroup - OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId - OpDecorate %__spirv_BuiltInGlobalInvocationId Constant - OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpGroupDecorate %22 %lhs %rhs - OpDecorate %20 NoUnsignedWrap - %uint = OpTypeInt 32 0 - %v3uint = OpTypeVector %uint 3 -%_ptr_UniformConstant_v3uint = OpTypePointer UniformConstant %v3uint - %void = OpTypeVoid -%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %8 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint -%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3uint UniformConstant - %9 = OpFunction %void None %8 - %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %13 = OpLabel - %14 = OpLoad %v3uint %__spirv_BuiltInGlobalInvocationId - %15 = OpCompositeExtract %uint %14 0 - %16 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %15 - %17 = OpLoad %uint %16 Aligned 4 - %18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %15 - %19 = OpLoad %uint %18 Aligned 4 - %20 = OpISub %uint %17 %19 - %21 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %15 - OpStore %21 %20 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm64 b/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm64 deleted file mode 100644 index f4245add..00000000 --- a/test_conformance/spirv_new/spirv_txt/ext_cl_khr_spirv_no_integer_wrap_decoration_fsub_uint.spvasm64 +++ /dev/null @@ -1,53 +0,0 @@ -; SPIR-V -; Version: 1.0 -; Generator: Khronos LLVM/SPIR-V Translator; 14 -; Bound: 28 -; Schema: 0 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_cl" - OpSource OpenCL_C 200000 - OpExtension "SPV_KHR_no_integer_wrap_decoration" - OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" - OpName %out "out" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %27 FuncParamAttr NoWrite - %27 = OpDecorationGroup - OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId - OpDecorate %__spirv_BuiltInGlobalInvocationId Constant - OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import - OpGroupDecorate %27 %lhs %rhs - OpDecorate %24 NoUnsignedWrap - %ulong = OpTypeInt 64 0 - %uint = OpTypeInt 32 0 - %v3ulong = OpTypeVector %ulong 3 -%_ptr_UniformConstant_v3ulong = OpTypePointer UniformConstant %v3ulong - %void = OpTypeVoid -%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint - %9 = OpTypeFunction %void %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint %_ptr_CrossWorkgroup_uint -%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_UniformConstant_v3ulong UniformConstant - %10 = OpFunction %void None %9 - %out = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %lhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %rhs = OpFunctionParameter %_ptr_CrossWorkgroup_uint - %14 = OpLabel - %15 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId - %16 = OpCompositeExtract %ulong %15 0 - %17 = OpUConvert %uint %16 - %18 = OpSConvert %ulong %17 - %19 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %lhs %18 - %20 = OpLoad %uint %19 Aligned 4 - %21 = OpSConvert %ulong %17 - %22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %rhs %21 - %23 = OpLoad %uint %22 Aligned 4 - %24 = OpISub %uint %20 %23 - %25 = OpSConvert %ulong %17 - %26 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uint %out %25 - OpStore %26 %24 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_double.spvasm32 b/test_conformance/spirv_new/spirv_txt/fadd_double.spvasm32 deleted file mode 100644 index 89095c1e..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_double.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 8 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 8 -%21 = OpFAdd %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_double.spvasm64 b/test_conformance/spirv_new/spirv_txt/fadd_double.spvasm64 deleted file mode 100644 index 5157bdb2..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_double.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 8 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 8 -%24 = OpFAdd %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_double2.spvasm32 b/test_conformance/spirv_new/spirv_txt/fadd_double2.spvasm32 deleted file mode 100644 index 3ec0b375..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_double2.spvasm32 +++ /dev/null @@ -1,42 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %72 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %72 %19 Aligned 16 -%21 = OpFAdd %72 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_double2.spvasm64 b/test_conformance/spirv_new/spirv_txt/fadd_double2.spvasm64 deleted file mode 100644 index d7c811c8..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_double2.spvasm64 +++ /dev/null @@ -1,46 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %72 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %72 %22 Aligned 16 -%24 = OpFAdd %72 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_float.spvasm32 b/test_conformance/spirv_new/spirv_txt/fadd_float.spvasm32 deleted file mode 100644 index 82d84e0b..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_float.spvasm32 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 4 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 4 -%21 = OpFAdd %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_float.spvasm64 b/test_conformance/spirv_new/spirv_txt/fadd_float.spvasm64 deleted file mode 100644 index c13094a3..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_float.spvasm64 +++ /dev/null @@ -1,44 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 4 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 4 -%24 = OpFAdd %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_float4.spvasm32 b/test_conformance/spirv_new/spirv_txt/fadd_float4.spvasm32 deleted file mode 100644 index 1f831368..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_float4.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %74 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %74 %19 Aligned 16 -%21 = OpFAdd %74 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_float4.spvasm64 b/test_conformance/spirv_new/spirv_txt/fadd_float4.spvasm64 deleted file mode 100644 index eb7ecd5c..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_float4.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %74 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %74 %22 Aligned 16 -%24 = OpFAdd %74 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_half.spvasm32 b/test_conformance/spirv_new/spirv_txt/fadd_half.spvasm32 deleted file mode 100644 index ab351a61..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_half.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 -%21 = OpFAdd %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fadd_half.spvasm64 b/test_conformance/spirv_new/spirv_txt/fadd_half.spvasm64 deleted file mode 100644 index fd60259e..00000000 --- a/test_conformance/spirv_new/spirv_txt/fadd_half.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 -%24 = OpFAdd %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_double.spvasm32 b/test_conformance/spirv_new/spirv_txt/fdiv_double.spvasm32 deleted file mode 100644 index bc73e689..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_double.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 8 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 8 -%21 = OpFDiv %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_double.spvasm64 b/test_conformance/spirv_new/spirv_txt/fdiv_double.spvasm64 deleted file mode 100644 index c3abc9c0..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_double.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 8 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 8 -%24 = OpFDiv %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_double2.spvasm32 b/test_conformance/spirv_new/spirv_txt/fdiv_double2.spvasm32 deleted file mode 100644 index 9bad4fa5..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_double2.spvasm32 +++ /dev/null @@ -1,42 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %72 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %72 %19 Aligned 16 -%21 = OpFDiv %72 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_double2.spvasm64 b/test_conformance/spirv_new/spirv_txt/fdiv_double2.spvasm64 deleted file mode 100644 index 660370c0..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_double2.spvasm64 +++ /dev/null @@ -1,46 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %72 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %72 %22 Aligned 16 -%24 = OpFDiv %72 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_float.spvasm32 b/test_conformance/spirv_new/spirv_txt/fdiv_float.spvasm32 deleted file mode 100644 index f00aae44..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_float.spvasm32 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 4 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 4 -%21 = OpFDiv %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_float.spvasm64 b/test_conformance/spirv_new/spirv_txt/fdiv_float.spvasm64 deleted file mode 100644 index 903eeedc..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_float.spvasm64 +++ /dev/null @@ -1,44 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 4 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 4 -%24 = OpFDiv %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_float4.spvasm32 b/test_conformance/spirv_new/spirv_txt/fdiv_float4.spvasm32 deleted file mode 100644 index 7b81eab3..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_float4.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %74 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %74 %19 Aligned 16 -%21 = OpFDiv %74 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_float4.spvasm64 b/test_conformance/spirv_new/spirv_txt/fdiv_float4.spvasm64 deleted file mode 100644 index 84156f48..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_float4.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %74 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %74 %22 Aligned 16 -%24 = OpFDiv %74 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_half.spvasm32 b/test_conformance/spirv_new/spirv_txt/fdiv_half.spvasm32 deleted file mode 100644 index 3c455c83..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_half.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 -%21 = OpFDiv %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fdiv_half.spvasm64 b/test_conformance/spirv_new/spirv_txt/fdiv_half.spvasm64 deleted file mode 100644 index a5b77a06..00000000 --- a/test_conformance/spirv_new/spirv_txt/fdiv_half.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 -%24 = OpFDiv %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_double.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmod_double.spvasm32 deleted file mode 100644 index fc3478cd..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_double.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 8 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 8 -%21 = OpFMod %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_double.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmod_double.spvasm64 deleted file mode 100644 index ec9cf22f..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_double.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 8 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 8 -%24 = OpFMod %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_double2.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmod_double2.spvasm32 deleted file mode 100644 index 52016890..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_double2.spvasm32 +++ /dev/null @@ -1,42 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %72 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %72 %19 Aligned 16 -%21 = OpFMod %72 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_double2.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmod_double2.spvasm64 deleted file mode 100644 index 197313ee..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_double2.spvasm64 +++ /dev/null @@ -1,46 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %72 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %72 %22 Aligned 16 -%24 = OpFMod %72 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_float.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmod_float.spvasm32 deleted file mode 100644 index bdcbc288..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_float.spvasm32 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 4 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 4 -%21 = OpFMod %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_float.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmod_float.spvasm64 deleted file mode 100644 index ccdb529a..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_float.spvasm64 +++ /dev/null @@ -1,44 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 4 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 4 -%24 = OpFMod %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_float4.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmod_float4.spvasm32 deleted file mode 100644 index aa9a6fdf..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_float4.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %74 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %74 %19 Aligned 16 -%21 = OpFMod %74 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_float4.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmod_float4.spvasm64 deleted file mode 100644 index 1ec4ba08..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_float4.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %74 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %74 %22 Aligned 16 -%24 = OpFMod %74 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_half.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmod_half.spvasm32 deleted file mode 100644 index 86f00ca2..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_half.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 -%21 = OpFMod %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmod_half.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmod_half.spvasm64 deleted file mode 100644 index e7513d5a..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmod_half.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 -%24 = OpFMod %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_double.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmul_double.spvasm32 deleted file mode 100644 index bfd8f688..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_double.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 8 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 8 -%21 = OpFMul %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_double.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmul_double.spvasm64 deleted file mode 100644 index aaed39b5..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_double.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 8 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 8 -%24 = OpFMul %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_double2.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmul_double2.spvasm32 deleted file mode 100644 index 43606f3a..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_double2.spvasm32 +++ /dev/null @@ -1,42 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %72 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %72 %19 Aligned 16 -%21 = OpFMul %72 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_double2.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmul_double2.spvasm64 deleted file mode 100644 index 58314895..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_double2.spvasm64 +++ /dev/null @@ -1,46 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %72 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %72 %22 Aligned 16 -%24 = OpFMul %72 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_float.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmul_float.spvasm32 deleted file mode 100644 index 4a7439aa..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_float.spvasm32 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 4 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 4 -%21 = OpFMul %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_float.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmul_float.spvasm64 deleted file mode 100644 index 11e72097..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_float.spvasm64 +++ /dev/null @@ -1,44 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 4 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 4 -%24 = OpFMul %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_float4.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmul_float4.spvasm32 deleted file mode 100644 index 0ddcf0d9..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_float4.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %74 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %74 %19 Aligned 16 -%21 = OpFMul %74 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_float4.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmul_float4.spvasm64 deleted file mode 100644 index 0d656e09..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_float4.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %74 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %74 %22 Aligned 16 -%24 = OpFMul %74 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_half.spvasm32 b/test_conformance/spirv_new/spirv_txt/fmul_half.spvasm32 deleted file mode 100644 index 0aa2d7b8..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_half.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 -%21 = OpFMul %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fmul_half.spvasm64 b/test_conformance/spirv_new/spirv_txt/fmul_half.spvasm64 deleted file mode 100644 index 56b52b6f..00000000 --- a/test_conformance/spirv_new/spirv_txt/fmul_half.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 -%24 = OpFMul %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_double.spvasm32 b/test_conformance/spirv_new/spirv_txt/frem_double.spvasm32 deleted file mode 100644 index 782e1cad..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_double.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 8 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 8 -%21 = OpFRem %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_double.spvasm64 b/test_conformance/spirv_new/spirv_txt/frem_double.spvasm64 deleted file mode 100644 index 76e03c3c..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_double.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 8 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 8 -%24 = OpFRem %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_double2.spvasm32 b/test_conformance/spirv_new/spirv_txt/frem_double2.spvasm32 deleted file mode 100644 index 271615af..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_double2.spvasm32 +++ /dev/null @@ -1,42 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %72 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %72 %19 Aligned 16 -%21 = OpFRem %72 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_double2.spvasm64 b/test_conformance/spirv_new/spirv_txt/frem_double2.spvasm64 deleted file mode 100644 index 2d09838e..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_double2.spvasm64 +++ /dev/null @@ -1,46 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %72 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %72 %22 Aligned 16 -%24 = OpFRem %72 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_float.spvasm32 b/test_conformance/spirv_new/spirv_txt/frem_float.spvasm32 deleted file mode 100644 index 133fe786..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_float.spvasm32 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 4 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 4 -%21 = OpFRem %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_float.spvasm64 b/test_conformance/spirv_new/spirv_txt/frem_float.spvasm64 deleted file mode 100644 index 5a5e9078..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_float.spvasm64 +++ /dev/null @@ -1,44 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 4 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 4 -%24 = OpFRem %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_float4.spvasm32 b/test_conformance/spirv_new/spirv_txt/frem_float4.spvasm32 deleted file mode 100644 index 8e5032cc..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_float4.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %74 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %74 %19 Aligned 16 -%21 = OpFRem %74 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_float4.spvasm64 b/test_conformance/spirv_new/spirv_txt/frem_float4.spvasm64 deleted file mode 100644 index 5e8deb09..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_float4.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %74 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %74 %22 Aligned 16 -%24 = OpFRem %74 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_half.spvasm32 b/test_conformance/spirv_new/spirv_txt/frem_half.spvasm32 deleted file mode 100644 index 3b0a79e8..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_half.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 -%21 = OpFRem %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/frem_half.spvasm64 b/test_conformance/spirv_new/spirv_txt/frem_half.spvasm64 deleted file mode 100644 index 774d96d1..00000000 --- a/test_conformance/spirv_new/spirv_txt/frem_half.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 -%24 = OpFRem %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_double.spvasm32 b/test_conformance/spirv_new/spirv_txt/fsub_double.spvasm32 deleted file mode 100644 index 24e3d60f..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_double.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 8 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 8 -%21 = OpFSub %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_double.spvasm64 b/test_conformance/spirv_new/spirv_txt/fsub_double.spvasm64 deleted file mode 100644 index ce2fce68..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_double.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 8 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 8 -%24 = OpFSub %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 8 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_double2.spvasm32 b/test_conformance/spirv_new/spirv_txt/fsub_double2.spvasm32 deleted file mode 100644 index 738f7479..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_double2.spvasm32 +++ /dev/null @@ -1,42 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %72 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %72 %19 Aligned 16 -%21 = OpFSub %72 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_double2.spvasm64 b/test_conformance/spirv_new/spirv_txt/fsub_double2.spvasm64 deleted file mode 100644 index 3e010b2f..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_double2.spvasm64 +++ /dev/null @@ -1,46 +0,0 @@ - OpCapability Float64 - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 64 -%72 = OpTypeVector %7 2 - %8 = OpTypePointer CrossWorkgroup %72 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %72 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %72 %22 Aligned 16 -%24 = OpFSub %72 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_float.spvasm32 b/test_conformance/spirv_new/spirv_txt/fsub_float.spvasm32 deleted file mode 100644 index 48200b66..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_float.spvasm32 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 Aligned 4 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 Aligned 4 -%21 = OpFSub %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_float.spvasm64 b/test_conformance/spirv_new/spirv_txt/fsub_float.spvasm64 deleted file mode 100644 index ccfc8619..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_float.spvasm64 +++ /dev/null @@ -1,44 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 Aligned 4 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 Aligned 4 -%24 = OpFSub %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_float4.spvasm32 b/test_conformance/spirv_new/spirv_txt/fsub_float4.spvasm32 deleted file mode 100644 index e3ad63e0..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_float4.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %74 %17 Aligned 16 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %74 %19 Aligned 16 -%21 = OpFSub %74 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_float4.spvasm64 b/test_conformance/spirv_new/spirv_txt/fsub_float4.spvasm64 deleted file mode 100644 index 65615bdc..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_float4.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 32 -%74 = OpTypeVector %7 4 - %8 = OpTypePointer CrossWorkgroup %74 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %74 %20 Aligned 16 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %74 %22 Aligned 16 -%24 = OpFSub %74 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_half.spvasm32 b/test_conformance/spirv_new/spirv_txt/fsub_half.spvasm32 deleted file mode 100644 index 3531c662..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_half.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %23 FuncParamAttr NoCapture -%23 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %23 %11 %12 %13 - %2 = OpTypeInt 32 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%17 = OpInBoundsPtrAccessChain %8 %12 %16 -%18 = OpLoad %7 %17 -%19 = OpInBoundsPtrAccessChain %8 %13 %16 -%20 = OpLoad %7 %19 -%21 = OpFSub %7 %18 %20 -%22 = OpInBoundsPtrAccessChain %8 %11 %16 - OpStore %22 %21 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/fsub_half.spvasm64 b/test_conformance/spirv_new/spirv_txt/fsub_half.spvasm64 deleted file mode 100644 index b9335f9b..00000000 --- a/test_conformance/spirv_new/spirv_txt/fsub_half.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float16 - %1 = OpExtInstImport "OpenCL.std" - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %10 "fmath_spv" - OpName %11 "res" - OpName %12 "lhs" - OpName %13 "rhs" - OpName %14 "entry" - OpDecorate %26 FuncParamAttr NoCapture -%26 = OpDecorationGroup - OpDecorate %5 BuiltIn GlobalInvocationId - OpDecorate %5 Constant - OpDecorate %5 LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %26 %11 %12 %13 - %2 = OpTypeInt 64 0 - %3 = OpTypeVector %2 3 - %4 = OpTypePointer UniformConstant %3 - %6 = OpTypeVoid - %7 = OpTypeFloat 16 - %8 = OpTypePointer CrossWorkgroup %7 - %9 = OpTypeFunction %6 %8 %8 %8 -%17 = OpConstant %2 32 - %5 = OpVariable %4 UniformConstant -%10 = OpFunction %6 None %9 -%11 = OpFunctionParameter %8 -%12 = OpFunctionParameter %8 -%13 = OpFunctionParameter %8 -%14 = OpLabel -%15 = OpLoad %3 %5 Aligned 0 -%16 = OpCompositeExtract %2 %15 0 -%18 = OpShiftLeftLogical %2 %16 %17 -%19 = OpShiftRightArithmetic %2 %18 %17 -%20 = OpInBoundsPtrAccessChain %8 %12 %19 -%21 = OpLoad %7 %20 -%22 = OpInBoundsPtrAccessChain %8 %13 %19 -%23 = OpLoad %7 %22 -%24 = OpFSub %7 %21 %23 -%25 = OpInBoundsPtrAccessChain %8 %11 %19 - OpStore %25 %24 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/label_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/label_simple.spvasm32 deleted file mode 100644 index cddd1dcc..00000000 --- a/test_conformance/spirv_new/spirv_txt/label_simple.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "label_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%outptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current_in = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%current_out = OpInBoundsPtrAccessChain %int_ptr_t %outptr %idx -%val = OpLoad %int_t %current_in - OpStore %current_out %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/label_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/label_simple.spvasm64 deleted file mode 100644 index 36724fb8..00000000 --- a/test_conformance/spirv_new/spirv_txt/label_simple.spvasm64 +++ /dev/null @@ -1,35 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "label_simple" - OpName %inptr "in" - OpName %outptr "out" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%outptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current_in = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%current_out = OpInBoundsPtrAccessChain %int_ptr_t %outptr %idx -%val = OpLoad %int_t %current_in - OpStore %current_out %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/lifetime_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/lifetime_simple.spvasm32 deleted file mode 100644 index bdac8db4..00000000 --- a/test_conformance/spirv_new/spirv_txt/lifetime_simple.spvasm32 +++ /dev/null @@ -1,46 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "lifetime_simple" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%tmp = OpVariable %tmp_ptr_t Function -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%sub_val = OpISub %int_t %lhs_val %rhs_val - OpLifetimeStart %tmp 0 - OpStore %tmp %sub_val -%out_val = OpLoad %int_t %tmp - OpLifetimeStop %tmp 0 -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/lifetime_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/lifetime_simple.spvasm64 deleted file mode 100644 index 3a9d39aa..00000000 --- a/test_conformance/spirv_new/spirv_txt/lifetime_simple.spvasm64 +++ /dev/null @@ -1,50 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "lifetime_simple" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%shift_val = OpConstant %idx_t 32 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%tmp = OpVariable %tmp_ptr_t Function -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%sub_val = OpISub %int_t %lhs_val %rhs_val - OpLifetimeStart %tmp 0 - OpStore %tmp %sub_val -%out_val = OpLoad %int_t %tmp - OpLifetimeStop %tmp 0 -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/linkage_export.spvasm32 b/test_conformance/spirv_new/spirv_txt/linkage_export.spvasm32 deleted file mode 100644 index 3f715805..00000000 --- a/test_conformance/spirv_new/spirv_txt/linkage_export.spvasm32 +++ /dev/null @@ -1,15 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpName %local_func "simple_fnegate_linkage" - OpDecorate %local_func LinkageAttributes "simple_fnegate_linkage" Export -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%local_func_t = OpTypeFunction %float_t %float_t -%local_func = OpFunction %float_t Const %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/linkage_export.spvasm64 b/test_conformance/spirv_new/spirv_txt/linkage_export.spvasm64 deleted file mode 100644 index a76618b2..00000000 --- a/test_conformance/spirv_new/spirv_txt/linkage_export.spvasm64 +++ /dev/null @@ -1,15 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical64 OpenCL - OpName %local_func "simple_fnegate_linkage" - OpDecorate %local_func LinkageAttributes "simple_fnegate_linkage" Export -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%local_func_t = OpTypeFunction %float_t %float_t -%local_func = OpFunction %float_t Const %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/linkage_import.spvasm32 b/test_conformance/spirv_new/spirv_txt/linkage_import.spvasm32 deleted file mode 100644 index f2364969..00000000 --- a/test_conformance/spirv_new/spirv_txt/linkage_import.spvasm32 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "test_linkage" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %local_func LinkageAttributes "simple_fnegate_linkage" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Const %local_func_t -%local_in = OpFunctionParameter %float_t - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/linkage_import.spvasm64 b/test_conformance/spirv_new/spirv_txt/linkage_import.spvasm64 deleted file mode 100644 index bc3f9403..00000000 --- a/test_conformance/spirv_new/spirv_txt/linkage_import.spvasm64 +++ /dev/null @@ -1,38 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "test_linkage" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %local_func LinkageAttributes "simple_fnegate_linkage" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Const %local_func_t -%local_in = OpFunctionParameter %float_t - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_dont_unroll.spvasm32 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_dont_unroll.spvasm32 deleted file mode 100644 index 141c33d7..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_dont_unroll.spvasm32 +++ /dev/null @@ -1,67 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_conditional_dont_unroll" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpLoopMerge %block_end %block_cont DontUnroll - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_dont_unroll.spvasm64 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_dont_unroll.spvasm64 deleted file mode 100644 index 99b01596..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_dont_unroll.spvasm64 +++ /dev/null @@ -1,71 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_conditional_dont_unroll" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpLoopMerge %block_end %block_cont DontUnroll - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_none.spvasm32 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_none.spvasm32 deleted file mode 100644 index ad91cba3..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_none.spvasm32 +++ /dev/null @@ -1,67 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_conditional_none" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpLoopMerge %block_end %block_cont None - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_none.spvasm64 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_none.spvasm64 deleted file mode 100644 index 867aeb21..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_none.spvasm64 +++ /dev/null @@ -1,71 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_conditional_none" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpLoopMerge %block_end %block_cont None - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_unroll.spvasm32 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_unroll.spvasm32 deleted file mode 100644 index 2c4ed91c..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_unroll.spvasm32 +++ /dev/null @@ -1,67 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_conditional_unroll" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpLoopMerge %block_end %block_cont Unroll - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_unroll.spvasm64 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_unroll.spvasm64 deleted file mode 100644 index da3ccd76..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_conditional_unroll.spvasm64 +++ /dev/null @@ -1,71 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_conditional_unroll" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpLoopMerge %block_end %block_cont Unroll - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_dont_unroll.spvasm32 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_dont_unroll.spvasm32 deleted file mode 100644 index 0e981b3b..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_dont_unroll.spvasm32 +++ /dev/null @@ -1,69 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_dont_unroll" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel - OpLoopMerge %block_end %block_cont DontUnroll - OpBranch %block_check -%block_check = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_dont_unroll.spvasm64 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_dont_unroll.spvasm64 deleted file mode 100644 index b7022fce..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_dont_unroll.spvasm64 +++ /dev/null @@ -1,73 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_dont_unroll" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel - OpLoopMerge %block_end %block_cont DontUnroll - OpBranch %block_check -%block_check = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_none.spvasm32 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_none.spvasm32 deleted file mode 100644 index 89711e43..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_none.spvasm32 +++ /dev/null @@ -1,69 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_none" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel - OpLoopMerge %block_end %block_cont None - OpBranch %block_check -%block_check = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_none.spvasm64 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_none.spvasm64 deleted file mode 100644 index ce1fad65..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_none.spvasm64 +++ /dev/null @@ -1,73 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_none" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel - OpLoopMerge %block_end %block_cont None - OpBranch %block_check -%block_check = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_unroll.spvasm32 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_unroll.spvasm32 deleted file mode 100644 index b6497816..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_unroll.spvasm32 +++ /dev/null @@ -1,69 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_unroll" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel - OpLoopMerge %block_end %block_cont Unroll - OpBranch %block_check -%block_check = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_unroll.spvasm64 b/test_conformance/spirv_new/spirv_txt/loop_merge_branch_unroll.spvasm64 deleted file mode 100644 index ee8cc809..00000000 --- a/test_conformance/spirv_new/spirv_txt/loop_merge_branch_unroll.spvasm64 +++ /dev/null @@ -1,73 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "loop_merge_branch_unroll" - OpName %out_ptr "res" - OpName %in_ptr "in" - OpName %rep_val "rep" - OpName %num_val "num" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %in_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_t %int_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%in_ptr = OpFunctionParameter %int_ptr_t -%rep_val = OpFunctionParameter %int_t -%num_val = OpFunctionParameter %int_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%idx_int = OpSConvert %int_t %idx -%tmp_val_ptr = OpVariable %tmp_ptr_t Function -%tmp_idx_ptr = OpVariable %tmp_ptr_t Function - OpStore %tmp_val_ptr %int_zero Aligned 4 - OpStore %tmp_idx_ptr %int_zero Aligned 4 - OpBranch %block_loop -%block_loop = OpLabel - OpLoopMerge %block_end %block_cont Unroll - OpBranch %block_check -%block_check = OpLabel -%tmp_idx = OpLoad %int_t %tmp_idx_ptr -%compare = OpSLessThan %bool_t %tmp_idx %rep_val - OpBranchConditional %compare %block_calc %block_end -%block_calc = OpLabel -%calc_idx = OpLoad %int_t %tmp_idx_ptr -%calc_off = OpIMul %int_t %calc_idx %num_val -%in_idx = OpIAdd %int_t %idx_int %calc_off -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %in_idx -%in_val = OpLoad %int_t %in_loc -%tmp_val = OpLoad %int_t %tmp_val_ptr -%res_val = OpIAdd %int_t %tmp_val %in_val - OpStore %tmp_val_ptr %res_val Aligned 4 - OpBranch %block_cont -%block_cont = OpLabel -%tmp_idx_c = OpLoad %int_t %tmp_idx_ptr -%tmp_idx_inc = OpIAdd %int_t %tmp_idx_c %int_one - OpStore %tmp_idx_ptr %tmp_idx_inc - OpBranch %block_loop -%block_end = OpLabel -%out_val = OpLoad %int_t %tmp_val_ptr -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_const.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_function_const.spvasm32 deleted file mode 100644 index 32f96e8f..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_const.spvasm32 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_function_const" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Const %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_const.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_function_const.spvasm64 deleted file mode 100644 index a9b64c8c..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_const.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_function_const" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Const %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_inline.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_function_inline.spvasm32 deleted file mode 100644 index cfed803f..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_inline.spvasm32 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_function_inline" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Inline %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_inline.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_function_inline.spvasm64 deleted file mode 100644 index 09a720fa..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_inline.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_function_inline" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Inline %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_noinline.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_function_noinline.spvasm32 deleted file mode 100644 index 721cc171..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_noinline.spvasm32 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_function_noinline" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t DontInline %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_noinline.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_function_noinline.spvasm64 deleted file mode 100644 index e2d39821..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_noinline.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_function_noinline" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t DontInline %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_none.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_function_none.spvasm32 deleted file mode 100644 index abd28543..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_none.spvasm32 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_function_none" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t None %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_none.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_function_none.spvasm64 deleted file mode 100644 index 0718d318..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_none.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_function_none" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t None %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_pure.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_function_pure.spvasm32 deleted file mode 100644 index 5a204b38..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_pure.spvasm32 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_function_pure" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Pure %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_pure.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_function_pure.spvasm64 deleted file mode 100644 index ba6690fb..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_pure.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_function_pure" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%local_func_t = OpTypeFunction %float_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Pure %local_func_t -%local_in = OpFunctionParameter %float_t -%local_label = OpLabel -%local_out = OpFNegate %float_t %local_in - OpReturnValue %local_out - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFunctionCall %float_t %local_func %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_pure_ptr.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_function_pure_ptr.spvasm32 deleted file mode 100644 index 99efd317..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_pure_ptr.spvasm32 +++ /dev/null @@ -1,48 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_function_pure_ptr" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%local_func_t = OpTypeFunction %float_t %float_ptr_t %idx_t -%store_func_t = OpTypeFunction %void_t %float_ptr_t %idx_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Pure %local_func_t -%local_in_ptr = OpFunctionParameter %float_ptr_t -%local_idx = OpFunctionParameter %idx_t -%local_label = OpLabel -%local_in_off = OpInBoundsPtrAccessChain %float_ptr_t %local_in_ptr %local_idx -%local_in_val = OpLoad %float_t %local_in_off -%local_out = OpFNegate %float_t %local_in_val - OpReturnValue %local_out - OpFunctionEnd -%store_func = OpFunction %void_t None %store_func_t -%store_ptr = OpFunctionParameter %float_ptr_t -%store_idx = OpFunctionParameter %idx_t -%store_val = OpFunctionParameter %float_t -%store_label = OpLabel -%store_loc = OpInBoundsPtrAccessChain %float_ptr_t %store_ptr %store_idx - OpStore %store_loc %store_val - OpReturn - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%out_val = OpFunctionCall %float_t %local_func %inptr %idx -%void_val = OpFunctionCall %void_t %store_func %inptr %idx %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_function_pure_ptr.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_function_pure_ptr.spvasm64 deleted file mode 100644 index 41deaa0b..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_function_pure_ptr.spvasm64 +++ /dev/null @@ -1,51 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_function_pure_ptr" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%local_func_t = OpTypeFunction %float_t %float_ptr_t %idx_t -%store_func_t = OpTypeFunction %void_t %float_ptr_t %idx_t %float_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%local_func = OpFunction %float_t Pure %local_func_t -%local_in_ptr = OpFunctionParameter %float_ptr_t -%local_idx = OpFunctionParameter %idx_t -%local_label = OpLabel -%local_in_off = OpInBoundsPtrAccessChain %float_ptr_t %local_in_ptr %local_idx -%local_in_val = OpLoad %float_t %local_in_off -%local_out = OpFNegate %float_t %local_in_val - OpReturnValue %local_out - OpFunctionEnd -%store_func = OpFunction %void_t None %store_func_t -%store_ptr = OpFunctionParameter %float_ptr_t -%store_idx = OpFunctionParameter %idx_t -%store_val = OpFunctionParameter %float_t -%store_label = OpLabel -%store_loc = OpInBoundsPtrAccessChain %float_ptr_t %store_ptr %store_idx - OpStore %store_loc %store_val - OpReturn - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%out_val = OpFunctionCall %float_t %local_func %inptr %idx -%void_val = OpFunctionCall %void_t %store_func %inptr %idx %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_double.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_neg_double.spvasm32 deleted file mode 100644 index 38574392..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_double.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_neg_double" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%func_t = OpTypeFunction %void_t %double_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %double_ptr_t %inptr %idx -%in_val = OpLoad %double_t %current -%out_val = OpFNegate %double_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_double.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_neg_double.spvasm64 deleted file mode 100644 index 5dcf9596..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_double.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_neg_double" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%func_t = OpTypeFunction %void_t %double_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %double_ptr_t %inptr %idx -%in_val = OpLoad %double_t %current -%out_val = OpFNegate %double_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_float.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_neg_float.spvasm32 deleted file mode 100644 index 76bb0845..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_float.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_neg_float" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFNegate %float_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_float.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_neg_float.spvasm64 deleted file mode 100644 index 79173f6c..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_float.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_neg_float" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx -%in_val = OpLoad %float_t %current -%out_val = OpFNegate %float_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_float4.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_neg_float4.spvasm32 deleted file mode 100644 index 2ca02d15..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_float4.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_neg_float4" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float4_t = OpTypeVector %float_t 4 -%float4_ptr_t = OpTypePointer CrossWorkgroup %float4_t -%func_t = OpTypeFunction %void_t %float4_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float4_ptr_t %inptr %idx -%in_val = OpLoad %float4_t %current -%out_val = OpFNegate %float4_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_float4.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_neg_float4.spvasm64 deleted file mode 100644 index 06d3512e..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_float4.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_neg_float4" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float4_t = OpTypeVector %float_t 4 -%float4_ptr_t = OpTypePointer CrossWorkgroup %float4_t -%func_t = OpTypeFunction %void_t %float4_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float4_ptr_t %inptr %idx -%in_val = OpLoad %float4_t %current -%out_val = OpFNegate %float4_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_int.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_neg_int.spvasm32 deleted file mode 100644 index 279e08f8..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_int.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_neg_int" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%in_val = OpLoad %int_t %current -%out_val = OpSNegate %int_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_int.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_neg_int.spvasm64 deleted file mode 100644 index 541ccf64..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_int.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_neg_int" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%in_val = OpLoad %int_t %current -%out_val = OpSNegate %int_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_int4.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_neg_int4.spvasm32 deleted file mode 100644 index 6da4969a..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_int4.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_neg_int4" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx -%in_val = OpLoad %int4_t %current -%out_val = OpSNegate %int4_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_int4.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_neg_int4.spvasm64 deleted file mode 100644 index bf59317d..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_int4.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_neg_int4" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx -%in_val = OpLoad %int4_t %current -%out_val = OpSNegate %int4_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_long.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_neg_long.spvasm32 deleted file mode 100644 index 744d35ee..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_long.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_neg_long" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx -%in_val = OpLoad %long_t %current -%out_val = OpSNegate %long_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_long.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_neg_long.spvasm64 deleted file mode 100644 index 92a7754c..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_long.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_neg_long" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx -%in_val = OpLoad %long_t %current -%out_val = OpSNegate %long_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_short.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_neg_short.spvasm32 deleted file mode 100644 index 0cee9354..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_short.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_neg_short" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx -%in_val = OpLoad %short_t %current -%out_val = OpSNegate %short_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_neg_short.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_neg_short.spvasm64 deleted file mode 100644 index da69047f..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_neg_short.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_neg_short" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx -%in_val = OpLoad %short_t %current -%out_val = OpSNegate %short_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_not_int.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_not_int.spvasm32 deleted file mode 100644 index 453c78e4..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_not_int.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_not_int" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%in_val = OpLoad %int_t %current -%out_val = OpNot %int_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_not_int.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_not_int.spvasm64 deleted file mode 100644 index 78ff0943..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_not_int.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_not_int" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%in_val = OpLoad %int_t %current -%out_val = OpNot %int_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_not_int4.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_not_int4.spvasm32 deleted file mode 100644 index 68c5e9c6..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_not_int4.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_not_int4" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx -%in_val = OpLoad %int4_t %current -%out_val = OpNot %int4_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_not_int4.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_not_int4.spvasm64 deleted file mode 100644 index ce4f2276..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_not_int4.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_not_int4" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx -%in_val = OpLoad %int4_t %current -%out_val = OpNot %int4_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_not_long.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_not_long.spvasm32 deleted file mode 100644 index 50323d25..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_not_long.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_not_long" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx -%in_val = OpLoad %long_t %current -%out_val = OpNot %long_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_not_long.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_not_long.spvasm64 deleted file mode 100644 index cf51849f..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_not_long.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_not_long" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx -%in_val = OpLoad %long_t %current -%out_val = OpNot %long_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_not_short.spvasm32 b/test_conformance/spirv_new/spirv_txt/op_not_short.spvasm32 deleted file mode 100644 index a3c488f3..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_not_short.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "op_not_short" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx -%in_val = OpLoad %short_t %current -%out_val = OpNot %short_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/op_not_short.spvasm64 b/test_conformance/spirv_new/spirv_txt/op_not_short.spvasm64 deleted file mode 100644 index 779c9b13..00000000 --- a/test_conformance/spirv_new/spirv_txt/op_not_short.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "op_not_short" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx -%in_val = OpLoad %short_t %current -%out_val = OpNot %short_t %in_val - OpStore %current %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/opaque.spvasm32 b/test_conformance/spirv_new/spirv_txt/opaque.spvasm32 deleted file mode 100644 index 619563ab..00000000 --- a/test_conformance/spirv_new/spirv_txt/opaque.spvasm32 +++ /dev/null @@ -1,35 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "opaque" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %opaque_store LinkageAttributes "opaque_store" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%opaque_t = OpTypeOpaque "opaque_t" -%opaque_ptr_t = OpTypePointer CrossWorkgroup %opaque_t -%val = OpConstant %float_t 3.1415927 -%func_t = OpTypeFunction %void_t %opaque_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%opaque_store_t = OpTypeFunction %void_t %opaque_ptr_t %idx_t %float_t -%opaque_store = OpFunction %void_t None %opaque_store_t -%opaque_store_in = OpFunctionParameter %opaque_ptr_t -%opaque_store_idx = OpFunctionParameter %idx_t -%opaque_store_val = OpFunctionParameter %float_t - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %opaque_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%return = OpFunctionCall %void_t %opaque_store %inptr %idx %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/opaque.spvasm64 b/test_conformance/spirv_new/spirv_txt/opaque.spvasm64 deleted file mode 100644 index 6a7875eb..00000000 --- a/test_conformance/spirv_new/spirv_txt/opaque.spvasm64 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "opaque" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpDecorate %opaque_store LinkageAttributes "opaque_store" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%shift_val = OpConstant %idx_t 32 -%val = OpConstant %float_t 3.1415927 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%opaque_t = OpTypeOpaque "opaque_t" -%opaque_ptr_t = OpTypePointer CrossWorkgroup %opaque_t -%func_t = OpTypeFunction %void_t %opaque_ptr_t -%opaque_store_t = OpTypeFunction %void_t %opaque_ptr_t %idx_t %float_t -%opaque_store = OpFunction %void_t None %opaque_store_t -%opaque_store_in = OpFunctionParameter %opaque_ptr_t -%opaque_store_idx = OpFunctionParameter %idx_t -%opaque_store_val = OpFunctionParameter %float_t - OpFunctionEnd -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %opaque_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%return = OpFunctionCall %void_t %opaque_store %inptr %idx %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/phi_2.spvasm32 b/test_conformance/spirv_new/spirv_txt/phi_2.spvasm32 deleted file mode 100644 index 44b55262..00000000 --- a/test_conformance/spirv_new/spirv_txt/phi_2.spvasm32 +++ /dev/null @@ -1,48 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "phi_2" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpBranch %block_phi -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpBranch %block_phi -%block_phi = OpLabel -%out_val = OpPhi %int_t %out1 %block1 %out2 %block2 -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/phi_2.spvasm64 b/test_conformance/spirv_new/spirv_txt/phi_2.spvasm64 deleted file mode 100644 index 4ad0c2c0..00000000 --- a/test_conformance/spirv_new/spirv_txt/phi_2.spvasm64 +++ /dev/null @@ -1,52 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "phi_2" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpBranch %block_phi -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpBranch %block_phi -%block_phi = OpLabel -%out_val = OpPhi %int_t %out1 %block1 %out2 %block2 -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/phi_3.spvasm32 b/test_conformance/spirv_new/spirv_txt/phi_3.spvasm32 deleted file mode 100644 index 381dc658..00000000 --- a/test_conformance/spirv_new/spirv_txt/phi_3.spvasm32 +++ /dev/null @@ -1,55 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "phi_3" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%cmp_val = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%compare1 = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare1 %block1 %block2 -%block1 = OpLabel -%compare2 = OpSLessThan %bool_t %lhs_val %cmp_val - OpBranchConditional %compare2 %block1_1 %block1_2 -%block1_1 = OpLabel -%out1_1 = OpISub %int_t %cmp_val %lhs_val - OpBranch %block_phi -%block1_2 = OpLabel -%out1_2 = OpISub %int_t %lhs_val %cmp_val - OpBranch %block_phi -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpBranch %block_phi -%block_phi = OpLabel -%out_val = OpPhi %int_t %out1_1 %block1_1 %out1_2 %block1_2 %out2 %block2 -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/phi_3.spvasm64 b/test_conformance/spirv_new/spirv_txt/phi_3.spvasm64 deleted file mode 100644 index 8e4a99a7..00000000 --- a/test_conformance/spirv_new/spirv_txt/phi_3.spvasm64 +++ /dev/null @@ -1,59 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "phi_3" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%shift_val = OpConstant %idx_t 32 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%cmp_val = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%compare1 = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare1 %block1 %block2 -%block1 = OpLabel -%compare2 = OpSLessThan %bool_t %lhs_val %cmp_val - OpBranchConditional %compare2 %block1_1 %block1_2 -%block1_1 = OpLabel -%out1_1 = OpISub %int_t %cmp_val %lhs_val - OpBranch %block_phi -%block1_2 = OpLabel -%out1_2 = OpISub %int_t %lhs_val %cmp_val - OpBranch %block_phi -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpBranch %block_phi -%block_phi = OpLabel -%out_val = OpPhi %int_t %out1_1 %block1_1 %out1_2 %block1_2 %out2 %block2 -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/phi_4.spvasm32 b/test_conformance/spirv_new/spirv_txt/phi_4.spvasm32 deleted file mode 100644 index 3b841f20..00000000 --- a/test_conformance/spirv_new/spirv_txt/phi_4.spvasm32 +++ /dev/null @@ -1,61 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "phi_4" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%cmp_val = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%compare1 = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare1 %block1 %block2 -%block1 = OpLabel -%compare2 = OpSLessThan %bool_t %lhs_val %cmp_val - OpBranchConditional %compare2 %block1_1 %block1_2 -%block1_1 = OpLabel -%out1_1 = OpISub %int_t %cmp_val %lhs_val - OpBranch %block_phi -%block1_2 = OpLabel -%out1_2 = OpISub %int_t %lhs_val %cmp_val - OpBranch %block_phi -%block2 = OpLabel -%compare3 = OpSLessThan %bool_t %rhs_val %cmp_val - OpBranchConditional %compare3 %block2_1 %block2_2 -%block2_1 = OpLabel -%out2_1 = OpISub %int_t %cmp_val %rhs_val - OpBranch %block_phi -%block2_2 = OpLabel -%out2_2 = OpISub %int_t %rhs_val %cmp_val - OpBranch %block_phi -%block_phi = OpLabel -%out_val = OpPhi %int_t %out1_1 %block1_1 %out1_2 %block1_2 %out2_1 %block2_1 %out2_2 %block2_2 -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/phi_4.spvasm64 b/test_conformance/spirv_new/spirv_txt/phi_4.spvasm64 deleted file mode 100644 index 79a8c9bd..00000000 --- a/test_conformance/spirv_new/spirv_txt/phi_4.spvasm64 +++ /dev/null @@ -1,65 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "phi_4" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%cmp_val = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%compare1 = OpSLessThan %bool_t %lhs_val %rhs_val - OpBranchConditional %compare1 %block1 %block2 -%block1 = OpLabel -%compare2 = OpSLessThan %bool_t %lhs_val %cmp_val - OpBranchConditional %compare2 %block1_1 %block1_2 -%block1_1 = OpLabel -%out1_1 = OpISub %int_t %cmp_val %lhs_val - OpBranch %block_phi -%block1_2 = OpLabel -%out1_2 = OpISub %int_t %lhs_val %cmp_val - OpBranch %block_phi -%block2 = OpLabel -%compare3 = OpSLessThan %bool_t %rhs_val %cmp_val - OpBranchConditional %compare3 %block2_1 %block2_2 -%block2_1 = OpLabel -%out2_1 = OpISub %int_t %cmp_val %rhs_val - OpBranch %block_phi -%block2_2 = OpLabel -%out2_2 = OpISub %int_t %rhs_val %cmp_val - OpBranch %block_phi -%block_phi = OpLabel -%out_val = OpPhi %int_t %out1_1 %block1_1 %out1_2 %block1_2 %out2_1 %block2_1 %out2_2 %block2_2 -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_if_dont_flatten.spvasm32 b/test_conformance/spirv_new/spirv_txt/select_if_dont_flatten.spvasm32 deleted file mode 100644 index e3c45a37..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_if_dont_flatten.spvasm32 +++ /dev/null @@ -1,54 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "select_if_dont_flatten" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpSelectionMerge %final_block DontFlatten - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_if_dont_flatten.spvasm64 b/test_conformance/spirv_new/spirv_txt/select_if_dont_flatten.spvasm64 deleted file mode 100644 index e8566dac..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_if_dont_flatten.spvasm64 +++ /dev/null @@ -1,59 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "select_if_dont_flatten" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%shift_val = OpConstant %idx_t 32 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function - OpStore %tmp %int_zero -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpSelectionMerge %final_block DontFlatten - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_if_flatten.spvasm32 b/test_conformance/spirv_new/spirv_txt/select_if_flatten.spvasm32 deleted file mode 100644 index 81cc1f73..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_if_flatten.spvasm32 +++ /dev/null @@ -1,54 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "select_if_flatten" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpSelectionMerge %final_block Flatten - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_if_flatten.spvasm64 b/test_conformance/spirv_new/spirv_txt/select_if_flatten.spvasm64 deleted file mode 100644 index 2a25ad1b..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_if_flatten.spvasm64 +++ /dev/null @@ -1,59 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "select_if_flatten" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%shift_val = OpConstant %idx_t 32 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function - OpStore %tmp %int_zero -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpSelectionMerge %final_block Flatten - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_if_none.spvasm32 b/test_conformance/spirv_new/spirv_txt/select_if_none.spvasm32 deleted file mode 100644 index aba05ba7..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_if_none.spvasm32 +++ /dev/null @@ -1,54 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "select_if_none" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpSelectionMerge %final_block None - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_if_none.spvasm64 b/test_conformance/spirv_new/spirv_txt/select_if_none.spvasm64 deleted file mode 100644 index 99de731c..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_if_none.spvasm64 +++ /dev/null @@ -1,59 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "select_if_none" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%shift_val = OpConstant %idx_t 32 -%int_zero = OpConstant %int_t 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function - OpStore %tmp %int_zero -%compare = OpSLessThan %bool_t %lhs_val %rhs_val - OpSelectionMerge %final_block None - OpBranchConditional %compare %block1 %block2 -%block1 = OpLabel -%out1 = OpISub %int_t %rhs_val %lhs_val - OpStore %tmp %out1 - OpBranch %final_block -%block2 = OpLabel -%out2 = OpISub %int_t %lhs_val %rhs_val - OpStore %tmp %out2 - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_switch_dont_flatten.spvasm32 b/test_conformance/spirv_new/spirv_txt/select_switch_dont_flatten.spvasm32 deleted file mode 100644 index 618b0789..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_switch_dont_flatten.spvasm32 +++ /dev/null @@ -1,63 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "select_switch_dont_flatten" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_two = OpConstant %int_t 2 -%int_three = OpConstant %int_t 3 -%int_four = OpConstant %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function -%add_val = OpIAdd %int_t %lhs_val %rhs_val -%selector = OpUMod %int_t %add_val %int_four - OpSelectionMerge %final_block DontFlatten - OpSwitch %selector %default 1 %block1 2 %block2 3 %block3 -%block1 = OpLabel - OpStore %tmp %int_one - OpBranch %final_block -%block2 = OpLabel - OpStore %tmp %int_two - OpBranch %final_block -%block3 = OpLabel - OpStore %tmp %int_three - OpBranch %final_block -%default = OpLabel - OpStore %tmp %int_zero - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_switch_dont_flatten.spvasm64 b/test_conformance/spirv_new/spirv_txt/select_switch_dont_flatten.spvasm64 deleted file mode 100644 index 54f154e4..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_switch_dont_flatten.spvasm64 +++ /dev/null @@ -1,68 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "select_switch_dont_flatten" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%shift_val = OpConstant %idx_t 32 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_two = OpConstant %int_t 2 -%int_three = OpConstant %int_t 3 -%int_four = OpConstant %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function - OpStore %tmp %int_zero -%add_val = OpIAdd %int_t %lhs_val %rhs_val -%selector = OpUMod %int_t %add_val %int_four - OpSelectionMerge %final_block DontFlatten - OpSwitch %selector %default 1 %block1 2 %block2 3 %block3 -%block1 = OpLabel - OpStore %tmp %int_one - OpBranch %final_block -%block2 = OpLabel - OpStore %tmp %int_two - OpBranch %final_block -%block3 = OpLabel - OpStore %tmp %int_three - OpBranch %final_block -%default = OpLabel - OpStore %tmp %int_zero - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_switch_flatten.spvasm32 b/test_conformance/spirv_new/spirv_txt/select_switch_flatten.spvasm32 deleted file mode 100644 index d90af141..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_switch_flatten.spvasm32 +++ /dev/null @@ -1,63 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "select_switch_flatten" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_two = OpConstant %int_t 2 -%int_three = OpConstant %int_t 3 -%int_four = OpConstant %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function -%add_val = OpIAdd %int_t %lhs_val %rhs_val -%selector = OpUMod %int_t %add_val %int_four - OpSelectionMerge %final_block Flatten - OpSwitch %selector %default 1 %block1 2 %block2 3 %block3 -%block1 = OpLabel - OpStore %tmp %int_one - OpBranch %final_block -%block2 = OpLabel - OpStore %tmp %int_two - OpBranch %final_block -%block3 = OpLabel - OpStore %tmp %int_three - OpBranch %final_block -%default = OpLabel - OpStore %tmp %int_zero - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_switch_flatten.spvasm64 b/test_conformance/spirv_new/spirv_txt/select_switch_flatten.spvasm64 deleted file mode 100644 index 41d408fd..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_switch_flatten.spvasm64 +++ /dev/null @@ -1,68 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "select_switch_flatten" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%shift_val = OpConstant %idx_t 32 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_two = OpConstant %int_t 2 -%int_three = OpConstant %int_t 3 -%int_four = OpConstant %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function - OpStore %tmp %int_zero -%add_val = OpIAdd %int_t %lhs_val %rhs_val -%selector = OpUMod %int_t %add_val %int_four - OpSelectionMerge %final_block Flatten - OpSwitch %selector %default 1 %block1 2 %block2 3 %block3 -%block1 = OpLabel - OpStore %tmp %int_one - OpBranch %final_block -%block2 = OpLabel - OpStore %tmp %int_two - OpBranch %final_block -%block3 = OpLabel - OpStore %tmp %int_three - OpBranch %final_block -%default = OpLabel - OpStore %tmp %int_zero - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_switch_none.spvasm32 b/test_conformance/spirv_new/spirv_txt/select_switch_none.spvasm32 deleted file mode 100644 index 324e1ef1..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_switch_none.spvasm32 +++ /dev/null @@ -1,63 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "select_switch_none" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_two = OpConstant %int_t 2 -%int_three = OpConstant %int_t 3 -%int_four = OpConstant %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function -%add_val = OpIAdd %int_t %lhs_val %rhs_val -%selector = OpUMod %int_t %add_val %int_four - OpSelectionMerge %final_block None - OpSwitch %selector %default 1 %block1 2 %block2 3 %block3 -%block1 = OpLabel - OpStore %tmp %int_one - OpBranch %final_block -%block2 = OpLabel - OpStore %tmp %int_two - OpBranch %final_block -%block3 = OpLabel - OpStore %tmp %int_three - OpBranch %final_block -%default = OpLabel - OpStore %tmp %int_zero - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/select_switch_none.spvasm64 b/test_conformance/spirv_new/spirv_txt/select_switch_none.spvasm64 deleted file mode 100644 index 3357672f..00000000 --- a/test_conformance/spirv_new/spirv_txt/select_switch_none.spvasm64 +++ /dev/null @@ -1,68 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "select_switch_none" - OpName %out_ptr "res" - OpName %lhs_ptr "lhs" - OpName %rhs_ptr "rhs" - OpDecorate %dec FuncParamAttr NoCapture -%dec = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %dec %out_ptr %lhs_ptr %rhs_ptr -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%bool_t = OpTypeBool -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%shift_val = OpConstant %idx_t 32 -%int_zero = OpConstant %int_t 0 -%int_one = OpConstant %int_t 1 -%int_two = OpConstant %int_t 2 -%int_three = OpConstant %int_t 3 -%int_four = OpConstant %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%tmp_ptr_t = OpTypePointer Function %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%out_ptr = OpFunctionParameter %int_ptr_t -%lhs_ptr = OpFunctionParameter %int_ptr_t -%rhs_ptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %lhs_ptr %idx -%lhs_val = OpLoad %int_t %lhs_loc Aligned 4 -%rhs_loc = OpInBoundsPtrAccessChain %int_ptr_t %rhs_ptr %idx -%rhs_val = OpLoad %int_t %rhs_loc Aligned 4 -%tmp = OpVariable %tmp_ptr_t Function - OpStore %tmp %int_zero -%add_val = OpIAdd %int_t %lhs_val %rhs_val -%selector = OpUMod %int_t %add_val %int_four - OpSelectionMerge %final_block None - OpSwitch %selector %default 1 %block1 2 %block2 3 %block3 -%block1 = OpLabel - OpStore %tmp %int_one - OpBranch %final_block -%block2 = OpLabel - OpStore %tmp %int_two - OpBranch %final_block -%block3 = OpLabel - OpStore %tmp %int_three - OpBranch %final_block -%default = OpLabel - OpStore %tmp %int_zero - OpBranch %final_block -%final_block = OpLabel -%out_val = OpLoad %int_t %tmp -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx - OpStore %out_loc %out_val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_char_simple.spvasm32 deleted file mode 100644 index 76ba3c4e..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_char_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%func_t = OpTypeFunction %void_t %char_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %char_ptr_t -%entry = OpLabel -%val = OpUndef %char_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %char_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_char_simple.spvasm64 deleted file mode 100644 index b1ac7771..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_char_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%func_t = OpTypeFunction %void_t %char_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %char_ptr_t -%entry = OpLabel -%val = OpUndef %char_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %char_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_double_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_double_simple.spvasm32 deleted file mode 100644 index 619fead8..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_double_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_double_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%func_t = OpTypeFunction %void_t %double_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%val = OpUndef %double_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %double_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_double_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_double_simple.spvasm64 deleted file mode 100644 index aaa15963..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_double_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_double_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%func_t = OpTypeFunction %void_t %double_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%val = OpUndef %double_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %double_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_false_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_false_simple.spvasm32 deleted file mode 100644 index d62f7334..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_false_simple.spvasm32 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_false_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%bool_t = OpTypeBool -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%true_val = OpConstant %int_t 1 -%false_val = OpConstant %int_t 0 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%bool_val = OpUndef %bool_t -%val = OpSelect %int_t %bool_val %true_val %false_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_false_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_false_simple.spvasm64 deleted file mode 100644 index 3f05d655..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_false_simple.spvasm64 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_false_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%bool_t = OpTypeBool -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%true_val = OpConstant %int_t 1 -%false_val = OpConstant %int_t 0 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%bool_val = OpUndef %bool_t -%val = OpSelect %int_t %bool_val %true_val %false_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_float_simple.spvasm32 deleted file mode 100644 index 90f91c17..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_float_simple.spvasm32 +++ /dev/null @@ -1,28 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%val = OpUndef %float_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_float_simple.spvasm64 deleted file mode 100644 index b67a00e9..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_float_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%val = OpUndef %float_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_half_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_half_simple.spvasm32 deleted file mode 100644 index df367bb5..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_half_simple.spvasm32 +++ /dev/null @@ -1,31 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_half_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%half_t = OpTypeFloat 16 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%half_val = OpUndef %half_t -%val = OpFConvert %float_t %half_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_half_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_half_simple.spvasm64 deleted file mode 100644 index 5d464ff7..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_half_simple.spvasm64 +++ /dev/null @@ -1,35 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_half_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%half_t = OpTypeFloat 16 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%func_t = OpTypeFunction %void_t %float_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%half_val = OpUndef %half_t -%val = OpFConvert %float_t %half_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %float_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_int3_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_int3_simple.spvasm32 deleted file mode 100644 index a2361a63..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_int3_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_int3_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int3_t = OpTypeVector %int_t 3 -%int3_ptr_t = OpTypePointer CrossWorkgroup %int3_t -%func_t = OpTypeFunction %void_t %int3_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int3_ptr_t -%entry = OpLabel -%vec = OpUndef %int3_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int3_ptr_t %inptr %idx - OpStore %current %vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_int3_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_int3_simple.spvasm64 deleted file mode 100644 index 9290f0d8..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_int3_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_int3_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int3_t = OpTypeVector %int_t 3 -%int3_ptr_t = OpTypePointer CrossWorkgroup %int3_t -%func_t = OpTypeFunction %void_t %int3_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int3_ptr_t -%entry = OpLabel -%vec = OpUndef %int3_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int3_ptr_t %inptr %idx - OpStore %current %vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_int4_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_int4_simple.spvasm32 deleted file mode 100644 index cac2954f..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_int4_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_int4_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%vec = OpUndef %int4_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx - OpStore %current %vec Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_int4_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_int4_simple.spvasm64 deleted file mode 100644 index dd4219a6..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_int4_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_int4_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int4_ptr_t -%entry = OpLabel -%vec = OpUndef %int4_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int4_ptr_t %inptr %idx - OpStore %current %vec - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_int_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_int_simple.spvasm32 deleted file mode 100644 index 0cc5658f..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_int_simple.spvasm32 +++ /dev/null @@ -1,28 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_int_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%val = OpUndef %int_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_int_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_int_simple.spvasm64 deleted file mode 100644 index f01ff94a..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_int_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_int_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%val = OpUndef %int_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_long_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_long_simple.spvasm32 deleted file mode 100644 index 451f0174..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_long_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_long_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%val = OpUndef %long_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_long_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_long_simple.spvasm64 deleted file mode 100644 index dcc12b9d..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_long_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_long_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%func_t = OpTypeFunction %void_t %long_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %long_ptr_t -%entry = OpLabel -%val = OpUndef %long_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %long_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_short_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_short_simple.spvasm32 deleted file mode 100644 index d1213404..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_short_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_short_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%val = OpUndef %short_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_short_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_short_simple.spvasm64 deleted file mode 100644 index e2256b8e..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_short_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_short_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%short_t = OpTypeInt 16 0 -%short_ptr_t = OpTypePointer CrossWorkgroup %short_t -%func_t = OpTypeFunction %void_t %short_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %short_ptr_t -%entry = OpLabel -%val = OpUndef %short_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %short_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_struct_int_char_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_struct_int_char_simple.spvasm32 deleted file mode 100644 index 94c04e0f..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_struct_int_char_simple.spvasm32 +++ /dev/null @@ -1,31 +0,0 @@ - OpCapability Addresses - OpCapability Kernel - OpCapability Linkage - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_struct_int_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%struct_val = OpUndef %struct_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_struct_int_char_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_struct_int_char_simple.spvasm64 deleted file mode 100644 index f4b52052..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_struct_int_char_simple.spvasm64 +++ /dev/null @@ -1,35 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_struct_int_char_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%struct_val = OpUndef %struct_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_struct_int_float_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_struct_int_float_simple.spvasm32 deleted file mode 100644 index 26161e22..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_struct_int_float_simple.spvasm32 +++ /dev/null @@ -1,30 +0,0 @@ - OpCapability Addresses - OpCapability Kernel - OpCapability Linkage - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_struct_int_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%float_t = OpTypeFloat 32 -%struct_t = OpTypeStruct %int_t %float_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%struct_val = OpUndef %struct_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_struct_int_float_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_struct_int_float_simple.spvasm64 deleted file mode 100644 index dfb707f1..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_struct_int_float_simple.spvasm64 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_struct_int_float_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%float_t = OpTypeFloat 32 -%struct_t = OpTypeStruct %int_t %float_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%struct_val = OpUndef %struct_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_struct_struct_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_struct_struct_simple.spvasm32 deleted file mode 100644 index da1b5709..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_struct_struct_simple.spvasm32 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Kernel - OpCapability Linkage - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_struct_struct_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int2_t = OpTypeVector %int_t 2 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct2_t = OpTypeStruct %int2_t %struct_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct2_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%struct2_val = OpUndef %struct2_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct2_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_struct_struct_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_struct_struct_simple.spvasm64 deleted file mode 100644 index 57d54dc1..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_struct_struct_simple.spvasm64 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_struct_struct_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int2_t = OpTypeVector %int_t 2 -%char_t = OpTypeInt 8 0 -%struct_t = OpTypeStruct %int_t %char_t -%struct2_t = OpTypeStruct %int2_t %struct_t -%struct_ptr_t = OpTypePointer CrossWorkgroup %struct2_t -%func_t = OpTypeFunction %void_t %struct_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %struct_ptr_t -%entry = OpLabel -%struct2_val = OpUndef %struct2_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %struct_ptr_t %inptr %idx - OpStore %current %struct2_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_true_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_true_simple.spvasm32 deleted file mode 100644 index 22060fd1..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_true_simple.spvasm32 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_true_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%bool_t = OpTypeBool -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%true_val = OpConstant %int_t 1 -%false_val = OpConstant %int_t 0 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%bool_val = OpUndef %bool_t -%val = OpSelect %int_t %bool_val %true_val %false_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val Aligned 4 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_true_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_true_simple.spvasm64 deleted file mode 100644 index ffbb3bba..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_true_simple.spvasm64 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_true_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%bool_t = OpTypeBool -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t -%shift_val = OpConstant %idx_t 32 -%true_val = OpConstant %int_t 1 -%false_val = OpConstant %int_t 0 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%bool_val = OpUndef %bool_t -%val = OpSelect %int_t %bool_val %true_val %false_val -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_uchar_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_uchar_simple.spvasm32 deleted file mode 100644 index 56ca9e8e..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_uchar_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_uchar_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uchar_t = OpTypeInt 8 0 -%uchar_ptr_t = OpTypePointer CrossWorkgroup %uchar_t -%func_t = OpTypeFunction %void_t %uchar_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uchar_ptr_t -%entry = OpLabel -%val = OpUndef %uchar_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %uchar_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_uchar_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_uchar_simple.spvasm64 deleted file mode 100644 index 5fa778c7..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_uchar_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_uchar_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uchar_t = OpTypeInt 8 0 -%uchar_ptr_t = OpTypePointer CrossWorkgroup %uchar_t -%func_t = OpTypeFunction %void_t %uchar_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uchar_ptr_t -%entry = OpLabel -%val = OpUndef %uchar_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %uchar_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_uint_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_uint_simple.spvasm32 deleted file mode 100644 index c2117ab5..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_uint_simple.spvasm32 +++ /dev/null @@ -1,28 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_uint_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uint_t = OpTypeInt 32 0 -%uint_ptr_t = OpTypePointer CrossWorkgroup %uint_t -%func_t = OpTypeFunction %void_t %uint_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uint_ptr_t -%entry = OpLabel -%val = OpUndef %uint_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %uint_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_uint_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_uint_simple.spvasm64 deleted file mode 100644 index a45231ee..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_uint_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_uint_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%uint_t = OpTypeInt 32 0 -%uint_ptr_t = OpTypePointer CrossWorkgroup %uint_t -%func_t = OpTypeFunction %void_t %uint_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %uint_ptr_t -%entry = OpLabel -%val = OpUndef %uint_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %uint_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_ulong_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_ulong_simple.spvasm32 deleted file mode 100644 index 42458fb8..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_ulong_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_ulong_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ulong_t = OpTypeInt 64 0 -%ulong_ptr_t = OpTypePointer CrossWorkgroup %ulong_t -%func_t = OpTypeFunction %void_t %ulong_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ulong_ptr_t -%entry = OpLabel -%val = OpUndef %ulong_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %ulong_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_ulong_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_ulong_simple.spvasm64 deleted file mode 100644 index f0e87f96..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_ulong_simple.spvasm64 +++ /dev/null @@ -1,32 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_ulong_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ulong_t = OpTypeInt 64 0 -%ulong_ptr_t = OpTypePointer CrossWorkgroup %ulong_t -%func_t = OpTypeFunction %void_t %ulong_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ulong_ptr_t -%entry = OpLabel -%val = OpUndef %ulong_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %ulong_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_ushort_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/undef_ushort_simple.spvasm32 deleted file mode 100644 index a8972f82..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_ushort_simple.spvasm32 +++ /dev/null @@ -1,29 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "undef_ushort_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ushort_t = OpTypeInt 16 0 -%ushort_ptr_t = OpTypePointer CrossWorkgroup %ushort_t -%func_t = OpTypeFunction %void_t %ushort_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ushort_ptr_t -%entry = OpLabel -%val = OpUndef %ushort_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current = OpInBoundsPtrAccessChain %ushort_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/undef_ushort_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/undef_ushort_simple.spvasm64 deleted file mode 100644 index cfdb129a..00000000 --- a/test_conformance/spirv_new/spirv_txt/undef_ushort_simple.spvasm64 +++ /dev/null @@ -1,33 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "undef_ushort_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%ushort_t = OpTypeInt 16 0 -%ushort_ptr_t = OpTypePointer CrossWorkgroup %ushort_t -%func_t = OpTypeFunction %void_t %ushort_ptr_t -%shift_val = OpConstant %idx_t 32 -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %ushort_ptr_t -%entry = OpLabel -%val = OpUndef %ushort_t -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current = OpInBoundsPtrAccessChain %ushort_ptr_t %inptr %idx - OpStore %current %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/unreachable_simple.spvasm32 b/test_conformance/spirv_new/spirv_txt/unreachable_simple.spvasm32 deleted file mode 100644 index cd1acb9e..00000000 --- a/test_conformance/spirv_new/spirv_txt/unreachable_simple.spvasm32 +++ /dev/null @@ -1,34 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "unreachable_simple" - OpName %inptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%outptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%current_in = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%current_out = OpInBoundsPtrAccessChain %int_ptr_t %outptr %idx -%val = OpLoad %int_t %current_in - OpBranch %final_block -%unreachable = OpLabel - OpUnreachable -%final_block = OpLabel - OpStore %current_out %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/unreachable_simple.spvasm64 b/test_conformance/spirv_new/spirv_txt/unreachable_simple.spvasm64 deleted file mode 100644 index ed980907..00000000 --- a/test_conformance/spirv_new/spirv_txt/unreachable_simple.spvasm64 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "unreachable_simple" - OpName %inptr "in" - OpName %outptr "out" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %inptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%inptr = OpFunctionParameter %int_ptr_t -%outptr = OpFunctionParameter %int_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%current_in = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx -%current_out = OpInBoundsPtrAccessChain %int_ptr_t %outptr %idx - OpBranch %final_block -%unreachable = OpLabel - OpUnreachable -%final_block = OpLabel -%val = OpLoad %int_t %current_in - OpStore %current_out %val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_char16_extract.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_char16_extract.spvasm32 deleted file mode 100644 index cd298175..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_char16_extract.spvasm32 +++ /dev/null @@ -1,38 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Vector16 - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_char16_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char16_t = OpTypeVector %char_t 16 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%char16_ptr_t = OpTypePointer CrossWorkgroup %char16_t -%func_t = OpTypeFunction %void_t %char16_ptr_t %char_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %char16_ptr_t -%out_ptr = OpFunctionParameter %char_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %char16_ptr_t %in_ptr %idx -%in_val = OpLoad %char16_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %char_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %char_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_char16_extract.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_char16_extract.spvasm64 deleted file mode 100644 index 88fc9d65..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_char16_extract.spvasm64 +++ /dev/null @@ -1,42 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpCapability Vector16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_char16_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char16_t = OpTypeVector %char_t 16 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%char16_ptr_t = OpTypePointer CrossWorkgroup %char16_t -%func_t = OpTypeFunction %void_t %char16_ptr_t %char_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %char16_ptr_t -%out_ptr = OpFunctionParameter %char_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %char16_ptr_t %in_ptr %idx -%in_val = OpLoad %char16_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %char_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %char_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_char16_insert.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_char16_insert.spvasm32 deleted file mode 100644 index f9b818ed..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_char16_insert.spvasm32 +++ /dev/null @@ -1,39 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Vector16 - OpCapability Int8 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_char16_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char16_t = OpTypeVector %char_t 16 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%char16_ptr_t = OpTypePointer CrossWorkgroup %char16_t -%func_t = OpTypeFunction %void_t %char_ptr_t %char16_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %char_ptr_t -%out_ptr = OpFunctionParameter %char16_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %char_ptr_t %in_ptr %idx -%in_val = OpLoad %char_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %char16_ptr_t %out_ptr %idx -%tmp_val = OpLoad %char16_t %out_loc -%out_val = OpVectorInsertDynamic %char16_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_char16_insert.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_char16_insert.spvasm64 deleted file mode 100644 index 8cc1d217..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_char16_insert.spvasm64 +++ /dev/null @@ -1,43 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Int8 - OpCapability Vector16 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_char16_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%char_t = OpTypeInt 8 0 -%char16_t = OpTypeVector %char_t 16 -%char_ptr_t = OpTypePointer CrossWorkgroup %char_t -%char16_ptr_t = OpTypePointer CrossWorkgroup %char16_t -%func_t = OpTypeFunction %void_t %char_ptr_t %char16_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %char_ptr_t -%out_ptr = OpFunctionParameter %char16_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %char_ptr_t %in_ptr %idx -%in_val = OpLoad %char_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %char16_ptr_t %out_ptr %idx -%tmp_val = OpLoad %char16_t %out_loc -%out_val = OpVectorInsertDynamic %char16_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_double2_extract.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_double2_extract.spvasm32 deleted file mode 100644 index 6c83da7a..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_double2_extract.spvasm32 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_double2_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double2_t = OpTypeVector %double_t 2 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%double2_ptr_t = OpTypePointer CrossWorkgroup %double2_t -%func_t = OpTypeFunction %void_t %double2_ptr_t %double_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %double2_ptr_t -%out_ptr = OpFunctionParameter %double_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %double2_ptr_t %in_ptr %idx -%in_val = OpLoad %double2_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %double_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %double_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_double2_extract.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_double2_extract.spvasm64 deleted file mode 100644 index ecf97f89..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_double2_extract.spvasm64 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_double2_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double2_t = OpTypeVector %double_t 2 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%double2_ptr_t = OpTypePointer CrossWorkgroup %double2_t -%func_t = OpTypeFunction %void_t %double2_ptr_t %double_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %double2_ptr_t -%out_ptr = OpFunctionParameter %double_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %double2_ptr_t %in_ptr %idx -%in_val = OpLoad %double2_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %double_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %double_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_double2_insert.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_double2_insert.spvasm32 deleted file mode 100644 index db1b72ad..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_double2_insert.spvasm32 +++ /dev/null @@ -1,38 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_double2_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double2_t = OpTypeVector %double_t 2 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%double2_ptr_t = OpTypePointer CrossWorkgroup %double2_t -%func_t = OpTypeFunction %void_t %double_ptr_t %double2_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %double_ptr_t -%out_ptr = OpFunctionParameter %double2_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %double_ptr_t %in_ptr %idx -%in_val = OpLoad %double_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %double2_ptr_t %out_ptr %idx -%tmp_val = OpLoad %double2_t %out_loc -%out_val = OpVectorInsertDynamic %double2_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_double2_insert.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_double2_insert.spvasm64 deleted file mode 100644 index 961aa486..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_double2_insert.spvasm64 +++ /dev/null @@ -1,42 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_double2_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double2_t = OpTypeVector %double_t 2 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%double2_ptr_t = OpTypePointer CrossWorkgroup %double2_t -%func_t = OpTypeFunction %void_t %double_ptr_t %double2_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %double_ptr_t -%out_ptr = OpFunctionParameter %double2_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %double_ptr_t %in_ptr %idx -%in_val = OpLoad %double_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %double2_ptr_t %out_ptr %idx -%tmp_val = OpLoad %double2_t %out_loc -%out_val = OpVectorInsertDynamic %double2_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_float4_extract.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_float4_extract.spvasm32 deleted file mode 100644 index 8b832700..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_float4_extract.spvasm32 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_float4_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float4_t = OpTypeVector %float_t 4 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%float4_ptr_t = OpTypePointer CrossWorkgroup %float4_t -%func_t = OpTypeFunction %void_t %float4_ptr_t %float_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %float4_ptr_t -%out_ptr = OpFunctionParameter %float_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %float4_ptr_t %in_ptr %idx -%in_val = OpLoad %float4_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %float_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %float_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_float4_extract.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_float4_extract.spvasm64 deleted file mode 100644 index 5f832a56..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_float4_extract.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_float4_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float4_t = OpTypeVector %float_t 4 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%float4_ptr_t = OpTypePointer CrossWorkgroup %float4_t -%func_t = OpTypeFunction %void_t %float4_ptr_t %float_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %float4_ptr_t -%out_ptr = OpFunctionParameter %float_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %float4_ptr_t %in_ptr %idx -%in_val = OpLoad %float4_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %float_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %float_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_float4_insert.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_float4_insert.spvasm32 deleted file mode 100644 index 23e729b3..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_float4_insert.spvasm32 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_float4_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float4_t = OpTypeVector %float_t 4 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%float4_ptr_t = OpTypePointer CrossWorkgroup %float4_t -%func_t = OpTypeFunction %void_t %float_ptr_t %float4_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %float_ptr_t -%out_ptr = OpFunctionParameter %float4_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %float_ptr_t %in_ptr %idx -%in_val = OpLoad %float_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %float4_ptr_t %out_ptr %idx -%tmp_val = OpLoad %float4_t %out_loc -%out_val = OpVectorInsertDynamic %float4_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_float4_insert.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_float4_insert.spvasm64 deleted file mode 100644 index d4e2fe86..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_float4_insert.spvasm64 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_float4_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float4_t = OpTypeVector %float_t 4 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%float4_ptr_t = OpTypePointer CrossWorkgroup %float4_t -%func_t = OpTypeFunction %void_t %float_ptr_t %float4_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %float_ptr_t -%out_ptr = OpFunctionParameter %float4_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %float_ptr_t %in_ptr %idx -%in_val = OpLoad %float_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %float4_ptr_t %out_ptr %idx -%tmp_val = OpLoad %float4_t %out_loc -%out_val = OpVectorInsertDynamic %float4_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_int4_extract.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_int4_extract.spvasm32 deleted file mode 100644 index 690a9253..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_int4_extract.spvasm32 +++ /dev/null @@ -1,36 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_int4_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t %int_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %int4_ptr_t -%out_ptr = OpFunctionParameter %int_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %int4_ptr_t %in_ptr %idx -%in_val = OpLoad %int4_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %int_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_int4_extract.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_int4_extract.spvasm64 deleted file mode 100644 index 68a0aece..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_int4_extract.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_int4_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int4_ptr_t %int_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %int4_ptr_t -%out_ptr = OpFunctionParameter %int_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %int4_ptr_t %in_ptr %idx -%in_val = OpLoad %int4_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %int_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %int_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_int4_insert.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_int4_insert.spvasm32 deleted file mode 100644 index 2a91b78c..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_int4_insert.spvasm32 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_int4_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int4_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %int_ptr_t -%out_ptr = OpFunctionParameter %int4_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %idx -%in_val = OpLoad %int_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %int4_ptr_t %out_ptr %idx -%tmp_val = OpLoad %int4_t %out_loc -%out_val = OpVectorInsertDynamic %int4_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_int4_insert.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_int4_insert.spvasm64 deleted file mode 100644 index 67231af4..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_int4_insert.spvasm64 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_int4_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%int_t = OpTypeInt 32 0 -%int4_t = OpTypeVector %int_t 4 -%int_ptr_t = OpTypePointer CrossWorkgroup %int_t -%int4_ptr_t = OpTypePointer CrossWorkgroup %int4_t -%func_t = OpTypeFunction %void_t %int_ptr_t %int4_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %int_ptr_t -%out_ptr = OpFunctionParameter %int4_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %int_ptr_t %in_ptr %idx -%in_val = OpLoad %int_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %int4_ptr_t %out_ptr %idx -%tmp_val = OpLoad %int4_t %out_loc -%out_val = OpVectorInsertDynamic %int4_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_long2_extract.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_long2_extract.spvasm32 deleted file mode 100644 index e0fe95c5..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_long2_extract.spvasm32 +++ /dev/null @@ -1,37 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_long2_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long2_t = OpTypeVector %long_t 2 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%long2_ptr_t = OpTypePointer CrossWorkgroup %long2_t -%func_t = OpTypeFunction %void_t %long2_ptr_t %long_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %long2_ptr_t -%out_ptr = OpFunctionParameter %long_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %long2_ptr_t %in_ptr %idx -%in_val = OpLoad %long2_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %long_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %long_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_long2_extract.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_long2_extract.spvasm64 deleted file mode 100644 index 9c523f13..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_long2_extract.spvasm64 +++ /dev/null @@ -1,40 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_long2_extract" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long2_t = OpTypeVector %long_t 2 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%long2_ptr_t = OpTypePointer CrossWorkgroup %long2_t -%func_t = OpTypeFunction %void_t %long2_ptr_t %long_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %long2_ptr_t -%out_ptr = OpFunctionParameter %long_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %long2_ptr_t %in_ptr %idx -%in_val = OpLoad %long2_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %long_ptr_t %out_ptr %idx -%out_val = OpVectorExtractDynamic %long_t %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_long2_insert.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_long2_insert.spvasm32 deleted file mode 100644 index 2a2e1ca6..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_long2_insert.spvasm32 +++ /dev/null @@ -1,38 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_long2_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long2_t = OpTypeVector %long_t 2 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%long2_ptr_t = OpTypePointer CrossWorkgroup %long2_t -%func_t = OpTypeFunction %void_t %long_ptr_t %long2_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %long_ptr_t -%out_ptr = OpFunctionParameter %long2_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%in_loc = OpInBoundsPtrAccessChain %long_ptr_t %in_ptr %idx -%in_val = OpLoad %long_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %long2_ptr_t %out_ptr %idx -%tmp_val = OpLoad %long2_t %out_loc -%out_val = OpVectorInsertDynamic %long2_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_long2_insert.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_long2_insert.spvasm64 deleted file mode 100644 index dfea0bc8..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_long2_insert.spvasm64 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_long2_insert" - OpName %in_ptr "in" - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %in_ptr FuncParamAttr NoCapture - OpDecorate %out_ptr FuncParamAttr NoCapture - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%vec_idx_t = OpTypeInt 32 0 -%void_t = OpTypeVoid -%long_t = OpTypeInt 64 0 -%long2_t = OpTypeVector %long_t 2 -%long_ptr_t = OpTypePointer CrossWorkgroup %long_t -%long2_ptr_t = OpTypePointer CrossWorkgroup %long2_t -%func_t = OpTypeFunction %void_t %long_ptr_t %long2_ptr_t %vec_idx_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%in_ptr = OpFunctionParameter %long_ptr_t -%out_ptr = OpFunctionParameter %long2_ptr_t -%vec_idx = OpFunctionParameter %vec_idx_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%in_loc = OpInBoundsPtrAccessChain %long_ptr_t %in_ptr %idx -%in_val = OpLoad %long_t %in_loc -%out_loc = OpInBoundsPtrAccessChain %long2_ptr_t %out_ptr %idx -%tmp_val = OpLoad %long2_t %out_loc -%out_val = OpVectorInsertDynamic %long2_t %tmp_val %in_val %vec_idx - OpStore %out_loc %out_val - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_times_scalar_double.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_times_scalar_double.spvasm32 deleted file mode 100644 index 52f4c655..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_times_scalar_double.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Float64 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_times_scalar" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %attr FuncParamAttr NoCapture -%attr = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %attr %res %lhs %rhs -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%double4_t = OpTypeVector %double_t 4 -%double4_ptr_t = OpTypePointer CrossWorkgroup %double4_t -%func_t = OpTypeFunction %void_t %double4_ptr_t %double4_ptr_t %double_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %double4_ptr_t -%lhs = OpFunctionParameter %double4_ptr_t -%rhs = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_ptr = OpInBoundsPtrAccessChain %double4_ptr_t %lhs %idx -%lhs_val = OpLoad %double4_t %lhs_ptr Aligned 32 -%rhs_ptr = OpInBoundsPtrAccessChain %double_ptr_t %rhs %idx -%rhs_val = OpLoad %double_t %rhs_ptr Aligned 8 -%res_val = OpVectorTimesScalar %double4_t %lhs_val %rhs_val -%res_ptr = OpInBoundsPtrAccessChain %double4_ptr_t %res %idx - OpStore %res_ptr %res_val Aligned 32 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_times_scalar_double.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_times_scalar_double.spvasm64 deleted file mode 100644 index 686b538b..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_times_scalar_double.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int64 - OpCapability Float64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_times_scalar" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %attr FuncParamAttr NoCapture -%attr = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %attr %res %lhs %rhs -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%void_t = OpTypeVoid -%double_t = OpTypeFloat 64 -%double_ptr_t = OpTypePointer CrossWorkgroup %double_t -%double4_t = OpTypeVector %double_t 4 -%double4_ptr_t = OpTypePointer CrossWorkgroup %double4_t -%func_t = OpTypeFunction %void_t %double4_ptr_t %double4_ptr_t %double_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %double4_ptr_t -%lhs = OpFunctionParameter %double4_ptr_t -%rhs = OpFunctionParameter %double_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_ptr = OpInBoundsPtrAccessChain %double4_ptr_t %lhs %idx -%lhs_val = OpLoad %double4_t %lhs_ptr Aligned 32 -%rhs_ptr = OpInBoundsPtrAccessChain %double_ptr_t %rhs %idx -%rhs_val = OpLoad %double_t %rhs_ptr Aligned 8 -%res_val = OpVectorTimesScalar %double4_t %lhs_val %rhs_val -%res_ptr = OpInBoundsPtrAccessChain %double4_ptr_t %res %idx - OpStore %res_ptr %res_val Aligned 32 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_times_scalar_float.spvasm32 b/test_conformance/spirv_new/spirv_txt/vector_times_scalar_float.spvasm32 deleted file mode 100644 index b5ec7f6b..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_times_scalar_float.spvasm32 +++ /dev/null @@ -1,41 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpMemoryModel Physical32 OpenCL - OpEntryPoint Kernel %func "vector_times_scalar" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %attr FuncParamAttr NoCapture -%attr = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %attr %res %lhs %rhs -%idx_t = OpTypeInt 32 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%float4_t = OpTypeVector %float_t 4 -%float4_ptr_t = OpTypePointer CrossWorkgroup %float4_t -%func_t = OpTypeFunction %void_t %float4_ptr_t %float4_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %float4_ptr_t -%lhs = OpFunctionParameter %float4_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx = OpCompositeExtract %idx_t %idx3 0 -%lhs_ptr = OpInBoundsPtrAccessChain %float4_ptr_t %lhs %idx -%lhs_val = OpLoad %float4_t %lhs_ptr Aligned 16 -%rhs_ptr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_ptr Aligned 4 -%res_val = OpVectorTimesScalar %float4_t %lhs_val %rhs_val -%res_ptr = OpInBoundsPtrAccessChain %float4_ptr_t %res %idx - OpStore %res_ptr %res_val Aligned 16 - OpReturn - OpFunctionEnd diff --git a/test_conformance/spirv_new/spirv_txt/vector_times_scalar_float.spvasm64 b/test_conformance/spirv_new/spirv_txt/vector_times_scalar_float.spvasm64 deleted file mode 100644 index e450102f..00000000 --- a/test_conformance/spirv_new/spirv_txt/vector_times_scalar_float.spvasm64 +++ /dev/null @@ -1,45 +0,0 @@ - OpCapability Addresses - OpCapability Linkage - OpCapability Kernel - OpCapability Int16 - OpCapability Int64 - OpMemoryModel Physical64 OpenCL - OpEntryPoint Kernel %func "vector_times_scalar" - OpName %res "res" - OpName %lhs "lhs" - OpName %rhs "rhs" - OpDecorate %attr FuncParamAttr NoCapture -%attr = OpDecorationGroup - OpDecorate %global_id BuiltIn GlobalInvocationId - OpDecorate %global_id Constant - OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import - OpGroupDecorate %attr %res %lhs %rhs -%idx_t = OpTypeInt 64 0 -%idx3_t = OpTypeVector %idx_t 3 -%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t -%shift_val = OpConstant %idx_t 32 -%void_t = OpTypeVoid -%float_t = OpTypeFloat 32 -%float_ptr_t = OpTypePointer CrossWorkgroup %float_t -%float4_t = OpTypeVector %float_t 4 -%float4_ptr_t = OpTypePointer CrossWorkgroup %float4_t -%func_t = OpTypeFunction %void_t %float4_ptr_t %float4_ptr_t %float_ptr_t -%global_id = OpVariable %idx3_ptr_t UniformConstant -%func = OpFunction %void_t None %func_t -%res = OpFunctionParameter %float4_ptr_t -%lhs = OpFunctionParameter %float4_ptr_t -%rhs = OpFunctionParameter %float_ptr_t -%entry = OpLabel -%idx3 = OpLoad %idx3_t %global_id Aligned 0 -%idx_tmp = OpCompositeExtract %idx_t %idx3 0 -%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val -%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val -%lhs_ptr = OpInBoundsPtrAccessChain %float4_ptr_t %lhs %idx -%lhs_val = OpLoad %float4_t %lhs_ptr Aligned 16 -%rhs_ptr = OpInBoundsPtrAccessChain %float_ptr_t %rhs %idx -%rhs_val = OpLoad %float_t %rhs_ptr Aligned 4 -%res_val = OpVectorTimesScalar %float4_t %lhs_val %rhs_val -%res_ptr = OpInBoundsPtrAccessChain %float4_ptr_t %res %idx - OpStore %res_ptr %res_val Aligned 16 - OpReturn - OpFunctionEnd