1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00

[SystemZ] Handle vectors in getSetCCResultType

I don't have a standalone testcase for this, but it should allow r193676
to be reapplied.

llvm-svn: 194148
This commit is contained in:
Richard Sandiford 2013-11-06 12:16:02 +00:00
parent b611fbe0fd
commit 593286d79d
2 changed files with 8 additions and 5 deletions

View File

@ -279,8 +279,13 @@ SystemZTargetLowering::SystemZTargetLowering(SystemZTargetMachine &tm)
MaxStoresPerMemsetOptSize = 0;
}
bool
SystemZTargetLowering::isFMAFasterThanFMulAndFAdd(EVT VT) const {
EVT SystemZTargetLowering::getSetCCResultType(LLVMContext &, EVT VT) const {
if (!VT.isVector())
return MVT::i32;
return VT.changeVectorElementTypeToInteger();
}
bool SystemZTargetLowering::isFMAFasterThanFMulAndFAdd(EVT VT) const {
VT = VT.getScalarType();
if (!VT.isSimple())

View File

@ -198,9 +198,7 @@ public:
virtual MVT getScalarShiftAmountTy(EVT LHSTy) const LLVM_OVERRIDE {
return MVT::i32;
}
virtual EVT getSetCCResultType(LLVMContext &, EVT) const LLVM_OVERRIDE {
return MVT::i32;
}
virtual EVT getSetCCResultType(LLVMContext &, EVT) const LLVM_OVERRIDE;
virtual bool isFMAFasterThanFMulAndFAdd(EVT VT) const LLVM_OVERRIDE;
virtual bool isFPImmLegal(const APFloat &Imm, EVT VT) const LLVM_OVERRIDE;
virtual bool isLegalAddressingMode(const AddrMode &AM, Type *Ty) const