; Test: SpvUnaryArithTest_Transpose_3x2.spvasm
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 101
; Schema: 0
OpCapability Shader
OpMemoryModel Logical Simple
OpEntryPoint Fragment %100 "main"
OpExecutionMode %100 OriginUpperLeft
%void = OpTypeVoid
%4 = OpTypeFunction %void
%uint = OpTypeInt 32 0
%int = OpTypeInt 32 1
%float = OpTypeFloat 32
%uint_10 = OpConstant %uint 10
%uint_20 = OpConstant %uint 20
%int_30 = OpConstant %int 30
%int_40 = OpConstant %int 40
%float_50 = OpConstant %float 50
%float_60 = OpConstant %float 60
%float_70 = OpConstant %float 70
%_ptr_Function_uint = OpTypePointer Function %uint
%_ptr_Function_int = OpTypePointer Function %int
%_ptr_Function_float = OpTypePointer Function %float
%v2uint = OpTypeVector %uint 2
%v2int = OpTypeVector %int 2
%v2float = OpTypeVector %float 2
%v3float = OpTypeVector %float 3
%22 = OpConstantComposite %v2uint %uint_10 %uint_20
%23 = OpConstantComposite %v2uint %uint_20 %uint_10
%24 = OpConstantComposite %v2int %int_30 %int_40
%25 = OpConstantComposite %v2int %int_40 %int_30
%26 = OpConstantComposite %v2float %float_50 %float_60
%27 = OpConstantComposite %v2float %float_60 %float_50
%28 = OpConstantComposite %v3float %float_50 %float_60 %float_70
%29 = OpConstantComposite %v3float %float_60 %float_70 %float_50
%mat2v2float = OpTypeMatrix %v2float 2
%mat2v3float = OpTypeMatrix %v3float 2
%mat3v2float = OpTypeMatrix %v2float 3
%33 = OpConstantComposite %mat2v2float %26 %27
%34 = OpConstantComposite %mat2v2float %27 %26
%35 = OpConstantComposite %mat3v2float %26 %27 %26
%36 = OpConstantComposite %mat2v3float %28 %29
%100 = OpFunction %void None %4
%37 = OpLabel
%1 = OpCopyObject %mat3v2float %35
%2 = OpTranspose %mat2v3float %1
OpReturn
OpFunctionEnd

