spv.rankShift.comp
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 33

                              Capability Shader
                              Capability Int64
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main"
                              ExecutionMode 4 LocalSize 54 1 1
                              Source GLSL 450
                              SourceExtension  "GL_ARB_gpu_shader_int64"
                              Name 4  "main"
                              Name 8  "result"
                              Name 11  "arg0"
                              Name 15  "arg1"
                              Decorate 11(arg0) Location 4
                              Decorate 11(arg0) DescriptorSet 0
                              Decorate 11(arg0) Binding 0
                              Decorate 15(arg1) Location 5
                              Decorate 15(arg1) DescriptorSet 0
                              Decorate 15(arg1) Binding 1
                              Decorate 32 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 64 0
               7:             TypePointer Function 6(int64_t)
               9:             TypeInt 64 1
              10:             TypePointer UniformConstant 9(int64_t)
        11(arg0):     10(ptr) Variable UniformConstant
              13:             TypeInt 32 0
              14:             TypePointer UniformConstant 13(int)
        15(arg1):     14(ptr) Variable UniformConstant
              29:             TypeVector 13(int) 3
              30:     13(int) Constant 54
              31:     13(int) Constant 1
              32:   29(ivec3) ConstantComposite 30 31 31
         4(main):           2 Function None 3
               5:             Label
       8(result):      7(ptr) Variable Function
              12:  9(int64_t) Load 11(arg0)
              16:     13(int) Load 15(arg1)
              17:  9(int64_t) ShiftLeftLogical 12 16
              18:  6(int64_t) Bitcast 17
                              Store 8(result) 18
              19:  9(int64_t) Load 11(arg0)
              20:     13(int) Load 15(arg1)
              21:  9(int64_t) ShiftRightArithmetic 19 20
              22:  6(int64_t) Bitcast 21
                              Store 8(result) 22
              23:     13(int) Load 15(arg1)
              24:  6(int64_t) Load 8(result)
              25:  6(int64_t) ShiftLeftLogical 24 23
                              Store 8(result) 25
              26:     13(int) Load 15(arg1)
              27:  6(int64_t) Load 8(result)
              28:  6(int64_t) ShiftRightLogical 27 26
                              Store 8(result) 28
                              Return
                              FunctionEnd
