Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn $name(mut n: $u, is_nonnegative: bool, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- push {r4, r5, r6, r7, lr}
- sub sp, #60
- str r2, [sp, #8]
- str r1, [sp, #4]
- mov r7, r0
- ldr r3, .LCPI19_0
- ldr r0, .LCPI19_1
- while n >= 10000 {
- cmp r7, r0
- blo .LBB19_5
- movs r0, #1
- mvns r0, r0
- movs r4, #39
- lsls r0, r0, #1
- str r0, [sp, #12]
- mov r6, r7
- .LBB19_2:
- n /= 10000;
- mov r0, r6
- ldr r1, .LCPI19_1
- bl __aeabi_uidiv
- mov r1, r0
- str r0, [sp, #16]
- ldr r0, .LCPI19_2
- muls r0, r1, r0
- adds r7, r6, r0
- let d1 = (rem / 100) << 1;
- uxth r0, r7
- movs r1, #100
- bl __aeabi_uidiv
- add r1, sp, #20
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- adds r1, r1, r4
- let d1 = (rem / 100) << 1;
- lsls r2, r0, #1
- ldr r3, .LCPI19_3
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- ldrb r3, [r3, r2]
- ldr r5, [sp, #12]
- strb r3, [r1, r5]
- ldr r3, .LCPI19_0
- adds r1, r1, r5
- ldr r5, .LCPI19_3
- intrinsics::offset(self, count) (libcore/ptr/mod.rs:1166)
- adds r2, r5, r2
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- ldrb r2, [r2, #1]
- strb r2, [r1, #1]
- muls r0, r3, r0
- adds r0, r0, r7
- let d2 = (rem % 100) << 1;
- uxth r0, r0
- lsls r0, r0, #1
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- ldrb r2, [r5, r0]
- strb r2, [r1, #2]
- intrinsics::offset(self, count) (libcore/ptr/mod.rs:1166)
- adds r0, r5, r0
- ldr r7, [sp, #16]
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- ldrb r0, [r0, #1]
- strb r0, [r1, #3]
- curr -= 4;
- subs r4, r4, #4
- while n >= 10000 {
- ldr r0, .LCPI19_4
- cmp r6, r0
- mov r6, r7
- bhi .LBB19_2
- if n >= 100 {
- cmp r7, #99
- ble .LBB19_6
- .LBB19_4:
- let d1 = (n % 100) << 1;
- uxth r0, r7
- movs r1, #100
- mov r5, r3
- n /= 100;
- bl __aeabi_uidiv
- muls r5, r0, r5
- adds r1, r5, r7
- let d1 = (n % 100) << 1;
- uxth r1, r1
- lsls r1, r1, #1
- intrinsics::offset(self, count) (libcore/ptr/mod.rs:1166)
- ldr r2, .LCPI19_3
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- ldrb r3, [r2, r1]
- curr -= 2;
- subs r4, r4, #2
- add r5, sp, #20
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- strb r3, [r5, r4]
- intrinsics::offset(self, count) as *mut T (libcore/ptr/mod.rs:1850)
- adds r3, r5, r4
- intrinsics::offset(self, count) (libcore/ptr/mod.rs:1166)
- adds r1, r2, r1
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- ldrb r1, [r1, #1]
- strb r1, [r3, #1]
- b .LBB19_7
- .LBB19_5:
- movs r4, #39
- if n >= 100 {
- cmp r7, #99
- bgt .LBB19_4
- .LBB19_6:
- mov r0, r7
- .LBB19_7:
- if n < 10 {
- cmp r0, #10
- ldr r7, [sp, #8]
- bge .LBB19_9
- curr -= 1;
- subs r1, r4, #1
- *buf_ptr.offset(curr) = (n as u8) + b'0';
- adds r0, #48
- add r2, sp, #20
- strb r0, [r2, r1]
- b .LBB19_10
- .LBB19_9:
- let d1 = n << 1;
- lsls r0, r0, #1
- intrinsics::offset(self, count) (libcore/ptr/mod.rs:1166)
- ldr r2, .LCPI19_3
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- ldrb r3, [r2, r0]
- curr -= 2;
- subs r1, r4, #2
- add r4, sp, #20
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- strb r3, [r4, r1]
- intrinsics::offset(self, count) as *mut T (libcore/ptr/mod.rs:1850)
- adds r3, r4, r1
- intrinsics::offset(self, count) (libcore/ptr/mod.rs:1166)
- adds r0, r2, r0
- copy_nonoverlapping(src, dst, count) (libcore/intrinsics.rs:1456)
- ldrb r0, [r0, #1]
- strb r0, [r3, #1]
- .LBB19_10:
- movs r0, #39
- slice::from_raw_parts(buf_ptr.offset(curr), buf.len() - curr as usize))
- subs r6, r0, r1
- add r2, sp, #20
- if !is_nonnegative { (libcore/fmt/mod.rs:1186)
- ldr r0, [sp, #4]
- cmp r0, #0
- beq .LBB19_13
- pub fn sign_plus(&self) -> bool { self.flags & (1 << FlagV1::SignPlus as u32) != 0 } (libcore/fmt/mod.rs:1635)
- ldr r0, [r7]
- movs r3, #1
- ands r3, r0
- } else if self.sign_plus() { (libcore/fmt/mod.rs:1188)
- beq .LBB19_14
- movs r4, #43
- b .LBB19_15
- .LBB19_13:
- movs r0, #40
- sign = Some('-'); width += 1; (libcore/fmt/mod.rs:1187)
- subs r4, r0, r1
- pub fn alternate(&self) -> bool { self.flags & (1 << FlagV1::Alternate as u32) != 0 } (libcore/fmt/mod.rs:1686)
- ldr r0, [r7]
- movs r3, #45
- str r3, [sp, #16]
- b .LBB19_16
- .LBB19_14:
- movs r4, #17
- lsls r4, r4, #16
- .LBB19_15:
- str r4, [sp, #16]
- } else if self.sign_plus() { (libcore/fmt/mod.rs:1188)
- adds r4, r3, r6
- .LBB19_16:
- adds r1, r2, r1
- pub fn alternate(&self) -> bool { self.flags & (1 << FlagV1::Alternate as u32) != 0 } (libcore/fmt/mod.rs:1686)
- str r1, [sp, #12]
- lsls r1, r0, #29
- asrs r1, r1, #31
- let prefix = if self.alternate() { (libcore/fmt/mod.rs:1192)
- ldr r5, .LCPI19_5
- ands r5, r1
- None => { (libcore/fmt/mod.rs:1216)
- ldr r1, [r7, #8]
- cmp r1, #1
- bne .LBB19_24
- str r6, [sp]
- Some(min) if width >= min => { (libcore/fmt/mod.rs:1222)
- ldr r6, [r7, #12]
- Some(min) if width >= min => { (libcore/fmt/mod.rs:1222)
- cmp r6, r4
- bls .LBB19_26
- Some(min) if self.sign_aware_zero_pad() => { (libcore/fmt/mod.rs:1228)
- lsls r0, r0, #28
- bmi .LBB19_29
- movs r0, #48
- rt::v1::Alignment::Unknown => default, (libcore/fmt/mod.rs:1328)
- ldr r1, [sp, #8]
- ldrb r1, [r1, r0]
- let align = match self.align { (libcore/fmt/mod.rs:1327)
- cmp r1, #3
- bne .LBB19_21
- movs r1, #1
- .LBB19_21:
- subs r4, r6, r4
- movs r0, #0
- add r1, pc
- ldrb r1, [r1, #4]
- lsls r1, r1, #1
- .LCPI19_6:
- add pc, r1
- .LJTI19_1:
- .LBB19_23:
- movs r1, #0
- mov r0, r4
- mov r4, r1
- b .LBB19_36
- .LBB19_24:
- write_prefix(self, sign, prefix)?; (libcore/fmt/mod.rs:1217)
- mov r0, r7
- ldr r1, [sp, #16]
- mov r2, r5
- bl _ZN4core3fmt9Formatter12pad_integral12write_prefix17h79dd01e27253f501E
- write_prefix(self, sign, prefix)?; (libcore/fmt/mod.rs:1217)
- cmp r0, #0
- bne .LBB19_39
- self.buf.write_str(buf) (libcore/fmt/mod.rs:1218)
- ldr r0, [r7, #24]
- ldr r1, [r7, #28]
- ldr r3, [r1, #12]
- ldr r1, [sp, #12]
- mov r2, r6
- b .LBB19_28
- .LBB19_26:
- write_prefix(self, sign, prefix)?; (libcore/fmt/mod.rs:1223)
- mov r0, r7
- ldr r1, [sp, #16]
- mov r2, r5
- bl _ZN4core3fmt9Formatter12pad_integral12write_prefix17h79dd01e27253f501E
- write_prefix(self, sign, prefix)?; (libcore/fmt/mod.rs:1223)
- cmp r0, #0
- bne .LBB19_39
- self.buf.write_str(buf) (libcore/fmt/mod.rs:1224)
- ldr r0, [r7, #24]
- ldr r1, [r7, #28]
- ldr r3, [r1, #12]
- ldr r1, [sp, #12]
- ldr r2, [sp]
- .LBB19_28:
- blx r3
- mov r5, r0
- b .LBB19_54
- .LBB19_29:
- movs r0, #48
- movs r1, #1
- ldr r7, [sp, #8]
- str r1, [sp, #4]
- self.align = rt::v1::Alignment::Right; (libcore/fmt/mod.rs:1230)
- strb r1, [r7, r0]
- self.fill = '0'; (libcore/fmt/mod.rs:1229)
- str r0, [r7, #4]
- write_prefix(self, sign, prefix)?; (libcore/fmt/mod.rs:1231)
- mov r0, r7
- ldr r1, [sp, #16]
- mov r2, r5
- bl _ZN4core3fmt9Formatter12pad_integral12write_prefix17h79dd01e27253f501E
- write_prefix(self, sign, prefix)?; (libcore/fmt/mod.rs:1231)
- cmp r0, #0
- bne .LBB19_53
- adds r7, #48
- rt::v1::Alignment::Unknown => default, (libcore/fmt/mod.rs:1328)
- ldrb r1, [r7]
- let align = match self.align { (libcore/fmt/mod.rs:1327)
- cmp r1, #3
- bne .LBB19_32
- movs r1, #1
- .LBB19_32:
- subs r4, r6, r4
- movs r0, #0
- ldr r7, [sp, #8]
- ldr r6, [sp]
- add r1, pc
- ldrb r1, [r1, #4]
- lsls r1, r1, #1
- .LCPI19_7:
- add pc, r1
- .LJTI19_0:
- .LBB19_34:
- movs r1, #0
- mov r0, r4
- mov r4, r1
- b .LBB19_46
- .LBB19_35:
- rt::v1::Alignment::Center => (padding / 2, (padding + 1) / 2), (libcore/fmt/mod.rs:1336)
- lsrs r0, r4, #1
- rt::v1::Alignment::Center => (padding / 2, (padding + 1) / 2), (libcore/fmt/mod.rs:1336)
- adds r1, r4, #1
- lsrs r4, r1, #1
- .LBB19_36:
- for _ in 0..pre_pad { (libcore/fmt/mod.rs:1339)
- adds r7, r0, #1
- .LBB19_37:
- fn lt(&self, other: &$t) -> bool { (*self) < (*other) } (libcore/cmp.rs:1006)
- subs r7, r7, #1
- if self.start < self.end { (libcore/iter/range.rs:206)
- beq .LBB19_40
- ldr r2, [sp, #8]
- self.buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1340)
- ldr r1, [r2, #4]
- self.buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1340)
- ldr r0, [r2, #24]
- ldr r2, [r2, #28]
- ldr r2, [r2, #16]
- blx r2
- self.buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1340)
- cmp r0, #0
- beq .LBB19_37
- .LBB19_39:
- movs r5, #1
- b .LBB19_54
- .LBB19_40:
- ldr r7, [sp, #8]
- Ok(PostPadding::new(self.fill, post_pad)) (libcore/fmt/mod.rs:1343)
- ldr r6, [r7, #4]
- write_prefix(self, sign, prefix)?; (libcore/fmt/mod.rs:1239)
- mov r0, r7
- ldr r1, [sp, #16]
- mov r2, r5
- bl _ZN4core3fmt9Formatter12pad_integral12write_prefix17h79dd01e27253f501E
- movs r5, #1
- write_prefix(self, sign, prefix)?; (libcore/fmt/mod.rs:1239)
- cmp r0, #0
- bne .LBB19_54
- str r6, [sp, #16]
- self.buf.write_str(buf)?; (libcore/fmt/mod.rs:1240)
- ldr r0, [r7, #24]
- ldr r1, [r7, #28]
- ldr r3, [r1, #12]
- ldr r1, [sp, #12]
- ldr r2, [sp]
- blx r3
- self.buf.write_str(buf)?; (libcore/fmt/mod.rs:1240)
- cmp r0, #0
- bne .LBB19_54
- str r5, [sp, #4]
- for _ in 0..self.padding { (libcore/fmt/mod.rs:1068)
- adds r4, r4, #1
- post_padding.write(self.buf) (libcore/fmt/mod.rs:1241)
- ldr r5, [r7, #24]
- ldr r6, [r7, #28]
- ldr r7, [sp, #16]
- .LBB19_43:
- fn lt(&self, other: &$t) -> bool { (*self) < (*other) } (libcore/cmp.rs:1006)
- subs r4, r4, #1
- if self.start < self.end { (libcore/iter/range.rs:206)
- beq .LBB19_55
- buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1069)
- ldr r2, [r6, #16]
- mov r0, r5
- mov r1, r7
- blx r2
- buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1069)
- cmp r0, #0
- beq .LBB19_43
- b .LBB19_53
- .LBB19_45:
- rt::v1::Alignment::Center => (padding / 2, (padding + 1) / 2), (libcore/fmt/mod.rs:1336)
- lsrs r0, r4, #1
- rt::v1::Alignment::Center => (padding / 2, (padding + 1) / 2), (libcore/fmt/mod.rs:1336)
- adds r1, r4, #1
- lsrs r4, r1, #1
- .LBB19_46:
- for _ in 0..pre_pad { (libcore/fmt/mod.rs:1339)
- adds r5, r0, #1
- .LBB19_47:
- fn lt(&self, other: &$t) -> bool { (*self) < (*other) } (libcore/cmp.rs:1006)
- subs r5, r5, #1
- if self.start < self.end { (libcore/iter/range.rs:206)
- beq .LBB19_49
- self.buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1340)
- ldr r1, [r7, #4]
- self.buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1340)
- ldr r0, [r7, #24]
- ldr r2, [r7, #28]
- ldr r2, [r2, #16]
- blx r2
- self.buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1340)
- cmp r0, #0
- beq .LBB19_47
- b .LBB19_53
- .LBB19_49:
- Ok(PostPadding::new(self.fill, post_pad)) (libcore/fmt/mod.rs:1343)
- ldr r5, [r7, #4]
- self.buf.write_str(buf)?; (libcore/fmt/mod.rs:1233)
- ldr r0, [r7, #24]
- ldr r1, [r7, #28]
- ldr r3, [r1, #12]
- ldr r1, [sp, #12]
- mov r2, r6
- blx r3
- self.buf.write_str(buf)?; (libcore/fmt/mod.rs:1233)
- cmp r0, #0
- bne .LBB19_53
- for _ in 0..self.padding { (libcore/fmt/mod.rs:1068)
- adds r4, r4, #1
- post_padding.write(self.buf) (libcore/fmt/mod.rs:1234)
- ldr r6, [r7, #24]
- ldr r7, [r7, #28]
- .LBB19_51:
- fn lt(&self, other: &$t) -> bool { (*self) < (*other) } (libcore/cmp.rs:1006)
- subs r4, r4, #1
- if self.start < self.end { (libcore/iter/range.rs:206)
- beq .LBB19_55
- buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1069)
- ldr r2, [r7, #16]
- mov r0, r6
- mov r1, r5
- blx r2
- buf.write_char(self.fill)?; (libcore/fmt/mod.rs:1069)
- cmp r0, #0
- beq .LBB19_51
- .LBB19_53:
- ldr r5, [sp, #4]
- .LBB19_54:
- }
- mov r0, r5
- add sp, #60
- pop {r4, r5, r6, r7, pc}
- .LBB19_55:
- movs r5, #0
- b .LBB19_54
- .LCPI19_0:
- .LCPI19_1:
- .LCPI19_2:
- .LCPI19_3:
- .LCPI19_4:
- .LCPI19_5:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement