mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 07:34:33 +00:00
R600/SI: Expand all v16[if]32 operations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202543 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7166b2820d
commit
9f0d68f522
@ -150,7 +150,7 @@ SITargetLowering::SITargetLowering(TargetMachine &TM) :
|
|||||||
// We only support LOAD/STORE and vector manipulation ops for vectors
|
// We only support LOAD/STORE and vector manipulation ops for vectors
|
||||||
// with > 4 elements.
|
// with > 4 elements.
|
||||||
MVT VecTypes[] = {
|
MVT VecTypes[] = {
|
||||||
MVT::v8i32, MVT::v8f32
|
MVT::v8i32, MVT::v8f32, MVT::v16i32, MVT::v16f32
|
||||||
};
|
};
|
||||||
|
|
||||||
const size_t NumVecTypes = array_lengthof(VecTypes);
|
const size_t NumVecTypes = array_lengthof(VecTypes);
|
||||||
|
@ -76,6 +76,46 @@ entry:
|
|||||||
ret void
|
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
|
; FUNC-LABEL: @add64
|
||||||
; SI-CHECK: S_ADD_I32
|
; SI-CHECK: S_ADD_I32
|
||||||
; SI-CHECK: S_ADDC_U32
|
; SI-CHECK: S_ADDC_U32
|
||||||
|
Loading…
x
Reference in New Issue
Block a user