| Index: src/IceTargetLoweringARM32.cpp
|
| diff --git a/src/IceTargetLoweringARM32.cpp b/src/IceTargetLoweringARM32.cpp
|
| index 85e0a65214283b6b5cd6d782c2774c987a1afd19..5687a788101e6bb9c0ccf29d9c5cd34dbb20326a 100644
|
| --- a/src/IceTargetLoweringARM32.cpp
|
| +++ b/src/IceTargetLoweringARM32.cpp
|
| @@ -446,9 +446,15 @@ void TargetARM32::genTargetHelperCallFor(Inst *Instr) {
|
| switch (Op) {
|
| default:
|
| break;
|
| + case InstArithmetic::Ashr:
|
| case InstArithmetic::Fdiv:
|
| - case InstArithmetic::Udiv:
|
| + case InstArithmetic::Frem:
|
| + case InstArithmetic::Lshr:
|
| case InstArithmetic::Sdiv:
|
| + case InstArithmetic::Shl:
|
| + case InstArithmetic::Srem:
|
| + case InstArithmetic::Udiv:
|
| + case InstArithmetic::Urem:
|
| scalarizeArithmetic(Op, Dest, Instr->getSrc(0), Instr->getSrc(1));
|
| Instr->setDeleted();
|
| return;
|
| @@ -5036,10 +5042,6 @@ void TargetARM32::lowerIntrinsicCall(const InstIntrinsicCall *Instr) {
|
| case Intrinsics::Fabs: {
|
| Type DestTy = Dest->getType();
|
| Variable *T = makeReg(DestTy);
|
| - if (isVectorType(DestTy)) {
|
| - UnimplementedLoweringError(this, Instr);
|
| - return;
|
| - }
|
| _vabs(T, legalizeToReg(Instr->getArg(0)));
|
| _mov(Dest, T);
|
| return;
|
|
|