diff options
| -rw-r--r-- | llvm/lib/Target/R600/SIISelLowering.cpp | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/R600/concat_vectors.ll | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Target/R600/SIISelLowering.cpp b/llvm/lib/Target/R600/SIISelLowering.cpp index f7717dacfc6..f9be144461a 100644 --- a/llvm/lib/Target/R600/SIISelLowering.cpp +++ b/llvm/lib/Target/R600/SIISelLowering.cpp @@ -196,10 +196,12 @@ SITargetLowering::SITargetLowering(TargetMachine &TM) : case ISD::BITCAST: case ISD::EXTRACT_VECTOR_ELT: case ISD::INSERT_VECTOR_ELT: - case ISD::CONCAT_VECTORS: case ISD::INSERT_SUBVECTOR: case ISD::EXTRACT_SUBVECTOR: break; + case ISD::CONCAT_VECTORS: + setOperationAction(Op, VT, Custom); + break; default: setOperationAction(Op, VT, Expand); break; diff --git a/llvm/test/CodeGen/R600/concat_vectors.ll b/llvm/test/CodeGen/R600/concat_vectors.ll index c38f3ee99ea..753282bbe82 100644 --- a/llvm/test/CodeGen/R600/concat_vectors.ll +++ b/llvm/test/CodeGen/R600/concat_vectors.ll @@ -77,8 +77,7 @@ define void @test_concat_v4f32(<8 x float> addrspace(1)* %out, <4 x float> %a, < } ; FUNC-LABEL: @test_concat_v8f32 -; FIXME: This is currently being expanded with loads / stores to the stack. -; FIXME-SI-NOT: S_MOV_B32 s{{[0-9]}}, 0x80f000 +; SI-NOT: S_MOV_B32 s{{[0-9]}}, 0x80f000 ; SI-NOT: MOVREL define void @test_concat_v8f32(<16 x float> addrspace(1)* %out, <8 x float> %a, <8 x float> %b) nounwind { %concat = shufflevector <8 x float> %a, <8 x float> %b, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15> |

