diff options
Diffstat (limited to 'src/vm_arm.dasc')
-rw-r--r-- | src/vm_arm.dasc | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc index aa5fbc88..8ddce49e 100644 --- a/src/vm_arm.dasc +++ b/src/vm_arm.dasc | |||
@@ -2141,49 +2141,6 @@ static void build_subroutines(BuildCtx *ctx) | |||
2141 | | rsbmi CARG1, CARG1, #0 // if (sign(divisor) != sign(y)) y = -y | 2141 | | rsbmi CARG1, CARG1, #0 // if (sign(divisor) != sign(y)) y = -y |
2142 | | bx lr | 2142 | | bx lr |
2143 | | | 2143 | | |
2144 | |// Callable from C: double lj_vm_foldarith(double x, double y, int op) | ||
2145 | |// Compute x op y for basic arithmetic operators (+ - * / % ^ and unary -) | ||
2146 | |// and basic math functions. ORDER ARITH | ||
2147 | |->vm_foldarith: | ||
2148 | | ldr OP, [sp] | ||
2149 | | cmp OP, #1 | ||
2150 | | blo extern __aeabi_dadd | ||
2151 | | beq extern __aeabi_dsub | ||
2152 | | cmp OP, #3 | ||
2153 | | blo extern __aeabi_dmul | ||
2154 | | beq extern __aeabi_ddiv | ||
2155 | | cmp OP, #5 | ||
2156 | | blo ->vm_mod | ||
2157 | | beq extern pow | ||
2158 | | cmp OP, #7 | ||
2159 | | eorlo CARG2, CARG2, #0x80000000 | ||
2160 | | biceq CARG2, CARG2, #0x80000000 | ||
2161 | | bxls lr | ||
2162 | |.if JIT | ||
2163 | | cmp OP, #9 | ||
2164 | | blo extern atan2 | ||
2165 | | beq >9 // No support needed for IR_LDEXP. | ||
2166 | | cmp OP, #11 | ||
2167 | | bhi >9 | ||
2168 | | push {r4, lr} | ||
2169 | | beq >1 | ||
2170 | | // IR_MIN | ||
2171 | | bl extern __aeabi_cdcmple | ||
2172 | | movhi CARG1, CARG3 | ||
2173 | | movhi CARG2, CARG4 | ||
2174 | | pop {r4, pc} | ||
2175 | |9: | ||
2176 | | NYI // Bad op. | ||
2177 | | | ||
2178 | |1: // IR_MAX | ||
2179 | | bl extern __aeabi_cdcmple | ||
2180 | | movlo CARG1, CARG3 | ||
2181 | | movlo CARG2, CARG4 | ||
2182 | | pop {r4, pc} | ||
2183 | |.else | ||
2184 | | NYI // Other operations only needed by JIT compiler. | ||
2185 | |.endif | ||
2186 | | | ||
2187 | |//----------------------------------------------------------------------- | 2144 | |//----------------------------------------------------------------------- |
2188 | |//-- Miscellaneous functions -------------------------------------------- | 2145 | |//-- Miscellaneous functions -------------------------------------------- |
2189 | |//----------------------------------------------------------------------- | 2146 | |//----------------------------------------------------------------------- |