mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
The CELL backend cannot select patterns for vector trunc-store and shl on v2i64; CellSPU/shift_ops.ll fails when promoting elements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142081 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
004a24b44c
commit
4d83b79c76
@ -424,6 +424,13 @@ SPUTargetLowering::SPUTargetLowering(SPUTargetMachine &TM)
|
||||
setOperationAction(ISD::UDIV, VT, Expand);
|
||||
setOperationAction(ISD::UREM, VT, Expand);
|
||||
|
||||
// Expand all trunc stores
|
||||
for (unsigned j = (unsigned)MVT::FIRST_VECTOR_VALUETYPE;
|
||||
j <= (unsigned)MVT::LAST_VECTOR_VALUETYPE; ++j) {
|
||||
MVT::SimpleValueType TargetVT = (MVT::SimpleValueType)j;
|
||||
setTruncStoreAction(VT, TargetVT, Expand);
|
||||
}
|
||||
|
||||
// Custom lower build_vector, constant pool spills, insert and
|
||||
// extract vector elements:
|
||||
setOperationAction(ISD::BUILD_VECTOR, VT, Custom);
|
||||
@ -434,6 +441,8 @@ SPUTargetLowering::SPUTargetLowering(SPUTargetMachine &TM)
|
||||
setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom);
|
||||
}
|
||||
|
||||
setOperationAction(ISD::SHL, MVT::v2i64, Expand);
|
||||
|
||||
setOperationAction(ISD::AND, MVT::v16i8, Custom);
|
||||
setOperationAction(ISD::OR, MVT::v16i8, Custom);
|
||||
setOperationAction(ISD::XOR, MVT::v16i8, Custom);
|
||||
|
Loading…
Reference in New Issue
Block a user