implement more arithmetic operations natively in the LLVM backend
There are a number of arithmetic operations that have native implementations on x86 but use the generic fallback on LLVM. Implementing these with LLVM intrinsics could improve small Integer performance on ARM substantially!
MO_Add2 @llvm.uadd.with.overflow.*
MO_AddIntC @llvm.sadd.with.overflow.*
MO_SubIntC @llvm.ssub.with.overflow.*
MO_U_Mul2 mul i64/i128?
MO_U_QuotRem2 udiv i64/i128?
Trac metadata
Trac field | Value |
---|---|
Version | 7.9 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler (LLVM) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |