Artifact c28f4d6806c1868292c881c2d04689172d872f7d:


0000: 23 69 6e 63 6c 75 64 65 20 22 61 73 6d 61 72 6d  #include "asmarm
0010: 2e 68 22 0a 2f 2f 20 47 65 6e 65 72 61 74 65 64  .h".// Generated
0020: 20 62 79 20 67 63 63 20 32 2e 36 2e 33 20 66 6f   by gcc 2.6.3 fo
0030: 72 20 41 52 4d 2f 52 49 53 43 69 58 0a 72 66 70  r ARM/RISCiX.rfp
0040: 09 2e 72 65 71 09 72 39 0a 73 6c 09 2e 72 65 71  ..req.r9.sl..req
0050: 09 72 31 30 0a 66 70 09 2e 72 65 71 09 72 31 31  .r10.fp..req.r11
0060: 0a 69 70 09 2e 72 65 71 09 72 31 32 0a 73 70 09  .ip..req.r12.sp.
0070: 2e 72 65 71 09 72 31 33 0a 6c 72 09 2e 72 65 71  .req.r13.lr..req
0080: 09 72 31 34 0a 70 63 09 2e 72 65 71 09 72 31 35  .r14.pc..req.r15
0090: 0a 2e 74 65 78 74 0a 09 2e 61 6c 69 67 6e 09 30  ..text...align.0
00a0: 0a 4c 43 30 3a 0a 09 2e 77 6f 72 64 09 43 28 76  .LC0:...word.C(v
00b0: 61 63 61 6c 6c 5f 66 75 6e 63 74 69 6f 6e 29 0a  acall_function).
00c0: 09 2e 61 6c 69 67 6e 09 30 0a 09 2e 67 6c 6f 62  ..align.0...glob
00d0: 61 6c 09 43 28 5f 5f 76 61 63 61 6c 6c 29 0a 09  al.C(__vacall)..
00e0: 44 45 43 4c 41 52 45 5f 46 55 4e 43 54 49 4f 4e  DECLARE_FUNCTION
00f0: 28 5f 5f 76 61 63 61 6c 6c 29 0a 43 28 5f 5f 76  (__vacall).C(__v
0100: 61 63 61 6c 6c 3a 29 0a 09 2f 2f 20 61 72 67 73  acall:)..// args
0110: 20 3d 20 34 2c 20 70 72 65 74 65 6e 64 20 3d 20   = 4, pretend = 
0120: 30 2c 20 66 72 61 6d 65 20 3d 20 34 38 0a 09 2f  0, frame = 48../
0130: 2f 20 66 72 61 6d 65 43 28 6e 65 65 64 65 64 29  / frameC(needed)
0140: 20 3d 20 30 2c 20 63 75 72 72 65 6e 74 5f 66 75   = 0, current_fu
0150: 6e 63 74 69 6f 6e 5f 61 6e 6f 6e 79 6d 6f 75 73  nction_anonymous
0160: 5f 61 72 67 73 20 3d 20 30 0a 09 73 74 6d 66 64  _args = 0..stmfd
0170: 09 73 70 21 2c 20 7b 6c 72 7d 0a 09 73 75 62 09  .sp!, {lr}..sub.
0180: 73 70 2c 20 73 70 2c 20 24 34 38 0a 09 6c 64 72  sp, sp, $48..ldr
0190: 09 69 70 2c 20 5b 73 70 2c 20 24 34 38 5d 0a 09  .ip, [sp, $48]..
01a0: 73 74 72 09 69 70 2c 20 5b 73 70 2c 20 24 32 38  str.ip, [sp, $28
01b0: 5d 0a 09 73 74 72 09 72 30 2c 20 5b 73 70 2c 20  ]..str.r0, [sp, 
01c0: 24 33 36 5d 0a 09 73 74 72 09 72 31 2c 20 5b 73  $36]..str.r1, [s
01d0: 70 2c 20 24 34 30 5d 0a 09 73 74 72 09 72 32 2c  p, $40]..str.r2,
01e0: 20 5b 73 70 2c 20 24 34 34 5d 0a 09 73 74 72 09   [sp, $44]..str.
01f0: 72 33 2c 20 5b 73 70 2c 20 24 34 38 5d 0a 09 6d  r3, [sp, $48]..m
0200: 6f 76 09 72 32 2c 20 24 30 0a 09 73 74 72 09 72  ov.r2, $0..str.r
0210: 32 2c 20 5b 73 70 2c 20 24 30 5d 0a 09 61 64 64  2, [sp, $0]..add
0220: 09 72 33 2c 20 73 70 2c 20 24 33 36 0a 09 73 74  .r3, sp, $36..st
0230: 72 09 72 33 2c 20 5b 73 70 2c 20 24 34 5d 0a 09  r.r3, [sp, $4]..
0240: 73 74 72 09 72 32 2c 20 5b 73 70 2c 20 24 38 5d  str.r2, [sp, $8]
0250: 0a 09 73 74 72 09 72 32 2c 20 5b 73 70 2c 20 24  ..str.r2, [sp, $
0260: 31 32 5d 0a 09 6d 6f 76 09 72 30 2c 20 73 70 0a  12]..mov.r0, sp.
0270: 09 6c 64 72 09 72 33 2c 20 5b 70 63 2c 20 24 4c  .ldr.r3, [pc, $L
0280: 43 30 20 2d 20 2e 20 2d 20 38 5d 0a 09 6d 6f 76  C0 - . - 8]..mov
0290: 09 6c 72 2c 20 70 63 0a 09 6c 64 72 09 70 63 2c  .lr, pc..ldr.pc,
02a0: 20 5b 72 33 2c 20 24 30 5d 0a 09 6c 64 72 09 72   [r3, $0]..ldr.r
02b0: 33 2c 20 5b 73 70 2c 20 24 31 32 5d 0a 09 63 6d  3, [sp, $12]..cm
02c0: 70 09 72 33 2c 20 24 30 0a 09 62 65 71 09 4c 33  p.r3, $0..beq.L3
02d0: 0a 09 63 6d 70 09 72 33 2c 20 24 31 0a 09 62 65  ..cmp.r3, $1..be
02e0: 71 09 4c 34 31 0a 09 63 6d 70 09 72 33 2c 20 24  q.L41..cmp.r3, $
02f0: 32 0a 09 6c 64 72 65 71 62 09 72 33 2c 20 5b 73  2..ldreqb.r3, [s
0300: 70 2c 20 24 32 30 5d 0a 09 6d 6f 76 65 71 09 72  p, $20]..moveq.r
0310: 33 2c 20 72 33 2c 20 61 73 6c 20 24 32 34 0a 09  3, r3, asl $24..
0320: 6d 6f 76 65 71 09 72 30 2c 20 72 33 2c 20 61 73  moveq.r0, r3, as
0330: 72 20 24 32 34 0a 09 62 65 71 09 4c 33 0a 4c 36  r $24..beq.L3.L6
0340: 3a 0a 09 63 6d 70 09 72 33 2c 20 24 33 0a 09 62  :..cmp.r3, $3..b
0350: 6e 65 09 4c 38 0a 4c 34 31 3a 0a 09 6c 64 72 62  ne.L8.L41:..ldrb
0360: 09 72 30 2c 20 5b 73 70 2c 20 24 32 30 5d 09 2f  .r0, [sp, $20]./
0370: 2f 20 7a 65 72 6f 43 28 65 78 74 65 6e 64 71 69  / zeroC(extendqi
0380: 73 69 32 29 0a 09 62 09 4c 33 0a 4c 38 3a 0a 09  si2)..b.L3.L8:..
0390: 63 6d 70 09 72 33 2c 20 24 34 0a 09 6c 64 72 65  cmp.r3, $4..ldre
03a0: 71 09 72 33 2c 20 5b 73 70 2c 20 24 32 30 5d 09  q.r3, [sp, $20].
03b0: 2f 2f 20 6d 6f 76 68 69 0a 09 6d 6f 76 65 71 09  // movhi..moveq.
03c0: 72 33 2c 20 72 33 2c 20 61 73 6c 20 24 31 36 0a  r3, r3, asl $16.
03d0: 09 6d 6f 76 65 71 09 72 30 2c 20 72 33 2c 20 61  .moveq.r0, r3, a
03e0: 73 72 20 24 31 36 0a 09 62 65 71 09 4c 33 0a 4c  sr $16..beq.L3.L
03f0: 31 30 3a 0a 09 63 6d 70 09 72 33 2c 20 24 35 0a  10:..cmp.r3, $5.
0400: 09 6c 64 72 65 71 09 72 33 2c 20 5b 73 70 2c 20  .ldreq.r3, [sp, 
0410: 24 32 30 5d 09 2f 2f 20 6d 6f 76 68 69 0a 09 62  $20].// movhi..b
0420: 65 71 09 4c 34 32 0a 4c 31 32 3a 0a 09 63 6d 70  eq.L42.L12:..cmp
0430: 09 72 33 2c 20 24 36 0a 09 62 65 71 09 4c 34 33  .r3, $6..beq.L43
0440: 0a 09 63 6d 70 09 72 33 2c 20 24 37 0a 09 62 65  ..cmp.r3, $7..be
0450: 71 09 4c 34 33 0a 09 63 6d 70 09 72 33 2c 20 24  q.L43..cmp.r3, $
0460: 38 0a 09 62 65 71 09 4c 34 33 0a 09 63 6d 70 09  8..beq.L43..cmp.
0470: 72 33 2c 20 24 39 0a 09 62 65 71 09 4c 34 33 0a  r3, $9..beq.L43.
0480: 09 73 75 62 09 72 33 2c 20 72 33 2c 20 24 31 30  .sub.r3, r3, $10
0490: 0a 09 63 6d 70 09 72 33 2c 20 24 31 0a 09 6c 64  ..cmp.r3, $1..ld
04a0: 72 6c 73 09 72 30 2c 20 5b 73 70 2c 20 24 32 30  rls.r0, [sp, $20
04b0: 5d 0a 09 6c 64 72 6c 73 09 72 31 2c 20 5b 73 70  ]..ldrls.r1, [sp
04c0: 2c 20 24 32 34 5d 0a 09 62 6c 73 09 4c 33 0a 4c  , $24]..bls.L3.L
04d0: 32 32 3a 0a 09 6c 64 72 09 72 33 2c 20 5b 73 70  22:..ldr.r3, [sp
04e0: 2c 20 24 31 32 5d 0a 09 63 6d 70 09 72 33 2c 20  , $12]..cmp.r3, 
04f0: 24 31 32 0a 09 6c 64 66 65 71 73 09 66 30 2c 20  $12..ldfeqs.f0, 
0500: 5b 73 70 2c 20 24 32 30 5d 0a 09 62 65 71 09 4c  [sp, $20]..beq.L
0510: 33 0a 4c 32 34 3a 0a 09 63 6d 70 09 72 33 2c 20  3.L24:..cmp.r3, 
0520: 24 31 33 0a 09 6c 64 66 65 71 64 09 66 30 2c 20  $13..ldfeqd.f0, 
0530: 5b 73 70 2c 20 24 32 30 5d 0a 09 62 65 71 09 4c  [sp, $20]..beq.L
0540: 33 0a 4c 32 36 3a 0a 09 63 6d 70 09 72 33 2c 20  3.L26:..cmp.r3, 
0550: 24 31 34 0a 09 62 6e 65 09 4c 32 38 0a 4c 34 33  $14..bne.L28.L43
0560: 3a 0a 09 6c 64 72 09 72 30 2c 20 5b 73 70 2c 20  :..ldr.r0, [sp, 
0570: 24 32 30 5d 0a 09 62 09 4c 33 0a 4c 32 38 3a 0a  $20]..b.L3.L28:.
0580: 09 63 6d 70 09 72 33 2c 20 24 31 35 0a 09 62 6e  .cmp.r3, $15..bn
0590: 65 09 4c 33 0a 09 6c 64 72 09 72 33 2c 20 5b 73  e.L3..ldr.r3, [s
05a0: 70 2c 20 24 30 5d 0a 09 74 73 74 09 72 33 2c 20  p, $0]..tst.r3, 
05b0: 24 31 0a 09 6c 64 72 6e 65 09 72 30 2c 20 5b 73  $1..ldrne.r0, [s
05c0: 70 2c 20 24 38 5d 0a 09 62 6e 65 09 4c 33 0a 4c  p, $8]..bne.L3.L
05d0: 33 31 3a 0a 09 74 73 74 09 72 33 2c 20 24 31 30  31:..tst.r3, $10
05e0: 32 34 0a 09 62 65 71 09 4c 33 0a 09 6c 64 72 09  24..beq.L3..ldr.
05f0: 72 33 2c 20 5b 73 70 2c 20 24 31 36 5d 0a 09 63  r3, [sp, $16]..c
0600: 6d 70 09 72 33 2c 20 24 31 0a 09 6c 64 72 65 71  mp.r3, $1..ldreq
0610: 09 72 33 2c 20 5b 73 70 2c 20 24 38 5d 0a 09 6c  .r3, [sp, $8]..l
0620: 64 72 65 71 62 09 72 30 2c 20 5b 72 33 2c 20 24  dreqb.r0, [r3, $
0630: 30 5d 09 2f 2f 20 7a 65 72 6f 43 28 65 78 74 65  0].// zeroC(exte
0640: 6e 64 71 69 73 69 32 29 0a 09 62 65 71 09 4c 33  ndqisi2)..beq.L3
0650: 0a 4c 33 34 3a 0a 09 63 6d 70 09 72 33 2c 20 24  .L34:..cmp.r3, $
0660: 32 0a 09 62 6e 65 09 4c 33 36 0a 09 6c 64 72 09  2..bne.L36..ldr.
0670: 72 33 2c 20 5b 73 70 2c 20 24 38 5d 0a 09 6c 64  r3, [sp, $8]..ld
0680: 72 09 72 33 2c 20 5b 72 33 2c 20 24 30 5d 09 2f  r.r3, [r3, $0]./
0690: 2f 20 6d 6f 76 68 69 0a 4c 34 32 3a 0a 09 6d 6f  / movhi.L42:..mo
06a0: 76 09 72 33 2c 20 72 33 2c 20 61 73 6c 20 24 31  v.r3, r3, asl $1
06b0: 36 0a 09 6d 6f 76 09 72 30 2c 20 72 33 2c 20 6c  6..mov.r0, r3, l
06c0: 73 72 20 24 31 36 0a 09 62 09 4c 33 0a 4c 33 36  sr $16..b.L3.L36
06d0: 3a 0a 09 63 6d 70 09 72 33 2c 20 24 34 0a 09 6c  :..cmp.r3, $4..l
06e0: 64 72 65 71 09 72 33 2c 20 5b 73 70 2c 20 24 38  dreq.r3, [sp, $8
06f0: 5d 0a 09 6c 64 72 65 71 09 72 30 2c 20 5b 72 33  ]..ldreq.r0, [r3
0700: 2c 20 24 30 5d 0a 09 62 65 71 09 4c 33 0a 4c 33  , $0]..beq.L3.L3
0710: 38 3a 0a 09 63 6d 70 09 72 33 2c 20 24 38 0a 09  8:..cmp.r3, $8..
0720: 6c 64 72 65 71 09 72 33 2c 20 5b 73 70 2c 20 24  ldreq.r3, [sp, $
0730: 38 5d 0a 09 6c 64 72 65 71 09 72 30 2c 20 5b 72  8]..ldreq.r0, [r
0740: 33 2c 20 24 30 5d 0a 09 6c 64 72 65 71 09 72 31  3, $0]..ldreq.r1
0750: 2c 20 5b 72 33 2c 20 24 34 5d 0a 4c 33 3a 0a 09  , [r3, $4].L3:..
0760: 6c 64 72 09 72 33 2c 20 5b 73 70 2c 20 24 32 38  ldr.r3, [sp, $28
0770: 5d 0a 09 73 74 72 09 72 33 2c 20 5b 73 70 2c 20  ]..str.r3, [sp, 
0780: 24 34 38 5d 0a 09 61 64 64 09 73 70 2c 20 73 70  $48]..add.sp, sp
0790: 2c 20 24 34 38 0a 09 6c 64 6d 66 64 09 73 70 21  , $48..ldmfd.sp!
07a0: 2c 20 7b 70 63 7d 5e 0a                          , {pc}^.