--- lib/Target/R600/SIISelLowering.cpp | 2 +- test/CodeGen/R600/add.ll | 40 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/lib/Target/R600/SIISelLowering.cpp b/lib/Target/R600/SIISelLowering.cpp index ffa42b8..3b7043a 100644 --- a/lib/Target/R600/SIISelLowering.cpp +++ b/lib/Target/R600/SIISelLowering.cpp @@ -150,7 +150,7 @@ SITargetLowering::SITargetLowering(TargetMachine &TM) : // We only support LOAD/STORE and vector manipulation ops for vectors // with > 4 elements. MVT VecTypes[] = { - MVT::v8i32, MVT::v8f32 + MVT::v8i32, MVT::v8f32, MVT::v16i32, MVT::v16f32 }; const size_t NumVecTypes = array_lengthof(VecTypes); diff --git a/test/CodeGen/R600/add.ll b/test/CodeGen/R600/add.ll index 8de87f4..600419c 100644 --- a/test/CodeGen/R600/add.ll +++ b/test/CodeGen/R600/add.ll @@ -76,6 +76,46 @@ entry: ret void } +; FUNC-LABEL: @test16 +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; EG-CHECK: ADD_INT +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_I32 +define void @test16(<16 x i32> addrspace(1)* %out, <16 x i32> %a, <16 x i32> %b) { +entry: + %0 = add <16 x i32> %a, %b + store <16 x i32> %0, <16 x i32> addrspace(1)* %out + ret void +} + ; FUNC-LABEL: @add64 ; SI-CHECK: S_ADD_I32 ; SI-CHECK: S_ADDC_U32 -- 1.8.1.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev