Skip to content

Commit

Permalink
mecrisp-stellaris-ra-1.4
Browse files Browse the repository at this point in the history
  • Loading branch information
Jean Jonethal committed Nov 9, 2015
1 parent 9cbe1dc commit fd5d2f4
Show file tree
Hide file tree
Showing 14 changed files with 2,307 additions and 2,321 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -426,3 +426,7 @@
05.11.2015, Matthias Koch, Mecrisp-Stellaris RA 1.3

- Inline-Cache allows register allocation across inlined definitions

08.11.2015, Matthias Koch, Mecrisp-Stellaris RA 1.4

- Small improvements for negate
Binary file modified kl25z128-ra/mecrisp-stellaris-kl25z128.bin
Binary file not shown.
1,525 changes: 762 additions & 763 deletions kl25z128-ra/mecrisp-stellaris-kl25z128.srec

Large diffs are not rendered by default.

Binary file modified linux-ra/mecrisp-stellaris-linux
Binary file not shown.
Binary file modified lm4f120-ra/mecrisp-stellaris-lm4f120.bin
Binary file not shown.
Binary file modified lpc1114fn28-ra/mecrisp-stellaris-lpc1114fn28.bin
Binary file not shown.
1,514 changes: 756 additions & 758 deletions lpc1114fn28-ra/mecrisp-stellaris-lpc1114fn28.hex

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion mecrisp-stellaris-source/common/datastackandmacros.s
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ psp .req r7
.macro welcome Meldung
bl dotgaensefuesschen
.byte 8f - 7f @ Compute length of name field.
7: .ascii "Mecrisp-Stellaris RA 1.3 experimental"
7: .ascii "Mecrisp-Stellaris RA 1.4 experimental"
.ascii "\Meldung\n"
8: .p2align 1
.endm
Expand Down
28 changes: 7 additions & 21 deletions mecrisp-stellaris-source/common/ra/calculations.s
Original file line number Diff line number Diff line change
Expand Up @@ -179,21 +179,7 @@ minus_allocator:

allocator_one_minus:
pushdaconstw 0x1E00 + 1<<6

chsmallplusminus:
push {lr}
bl expect_one_element @ Da nicht gefaltet worden ist, muss es sich um einen Register handeln.

ldr r1, [r0, #offset_state_tos]
lsls r1, #3
orrs tos, r1

bl tos_registerwechsel

orrs tos, r3 @ Der Endzielregister ist gar nicht geschoben
bl hkomma

pop {pc}
b.n smalltworegisters

@ -----------------------------------------------------------------------------
Wortbirne Flag_foldable_1|Flag_inline|Flag_allocator, "1+" @ ( u -- u+1 )
Expand All @@ -203,7 +189,7 @@ chsmallplusminus:
bx lr

pushdaconstw 0x1C00 + 1<<6
b.n chsmallplusminus
b.n smalltworegisters

@ -----------------------------------------------------------------------------
Wortbirne Flag_foldable_1|Flag_inline|Flag_allocator, "2-" @ ( u -- u-1 )
Expand All @@ -213,7 +199,7 @@ chsmallplusminus:
bx lr

pushdaconstw 0x1E00 + 2<<6
b.n chsmallplusminus
b.n smalltworegisters

@ -----------------------------------------------------------------------------
Wortbirne Flag_foldable_1|Flag_inline|Flag_allocator, "2+" @ ( u -- u+1 )
Expand All @@ -223,7 +209,7 @@ chsmallplusminus:
bx lr

pushdaconstw 0x1C00 + 2<<6
b.n chsmallplusminus
b.n smalltworegisters

@ -----------------------------------------------------------------------------
Wortbirne Flag_foldable_1|Flag_inline|Flag_allocator, "cell+" @ ( x -- x+4 )
Expand All @@ -232,7 +218,7 @@ chsmallplusminus:
bx lr

pushdaconstw 0x1C00 + 4<<6
b.n chsmallplusminus
b.n smalltworegisters

@ -----------------------------------------------------------------------------
Wortbirne Flag_foldable_1|Flag_inline|Flag_allocator, "negate" @ ( n1 -- -n1 )
Expand All @@ -246,11 +232,11 @@ allocator_negate:
smalltworegisters:
push {lr}
bl expect_one_element @ Da nicht gefaltet worden ist, muss es sich um einen Register handeln.
bl make_tos_changeable
ldr r1, [r0, #offset_state_tos]
orrs tos, r1
lsls r1, #3
orrs tos, r1
bl tos_registerwechsel
orrs tos, r3
bl hkomma
pop {pc}

Expand Down
2 changes: 1 addition & 1 deletion mecrisp-stellaris-source/common/ra/comparisions.s
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ alloc_nullkleiner:
bl prepare_single_compare @ Beinhaltet expect_one_element.

pushdaconstw 0x17C0 @ asrs r0, r0, #31
bl chsmallplusminus
bl smalltworegisters

ldr r1, =0xD500
str r1, [r0, #offset_sprungtrampolin] @ Daraus wird später die sbcs/mvns-Opcodesequenz zusammengesetzt, falls nötig.
Expand Down
2 changes: 1 addition & 1 deletion mecrisp-stellaris-source/common/ra/double.s
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ dnegate:
bl dup_allocator
bl make_tos_changeable
pushdaconstw 0x17C0 @ asrs r0, r0, #31
bl chsmallplusminus
bl smalltworegisters
pop {pc}

.ltorg
Expand Down
Binary file modified stm32f303-ra/mecrisp-stellaris-stm32f303.bin
Binary file not shown.
Loading

0 comments on commit fd5d2f4

Please sign in to comment.