ack/mach/powerpc/libem
George Koehler 26de4c1ab1 Add test for EM _rck_. Fix traps in PowerPC ncg.
The new test rck_e.e segfaults on PowerPC unless I make some changes.
The inline code for _rck_ was wrong because it didn't allow the trap
handler to return.  _sig_ forgot to push the old trap handler.

Move plat/linuxppc/libsys/trap.s to mach/powerpc/libem/trp.s and
rewrite it with simplified/extended mnemonics.  Remove .trap alias for
.trp procedure.  Add a missing `mtspr lr, r0` so we can return from
the trap handler.  Call write() and _exit() so trp.s works with both
linuxppc and osxppc.  Before, Mac OS X was wrongly using the trap.s
for Linux.

In powerpc/libem, simplify .aar4; teach .csa and .csb to raise the
trap if the default target is zero.

C programs don't need these changes.  You may relink your C programs
with the changed .csa and .csb, but C code doesn't raise the trap.
Modula-2 code can raise traps, so you may want to relink your Modula-2
programs with the changed libem, but you might keep your old .o files
from Modula-2.  You may need to recompile your Pascal programs (delete
old .o files from Pascal) because the Pascal compiler might use _rck_.
2017-12-24 22:37:52 -05:00
..
aar4.s Add test for EM _rck_. Fix traps in PowerPC ncg. 2017-12-24 22:37:52 -05:00
and.s Use lwzu, stwu to tighten more loops. 2017-10-18 12:12:42 -04:00
build.lua Add test for EM _rck_. Fix traps in PowerPC ncg. 2017-12-24 22:37:52 -05:00
cfi8.s In PowerPC libem, use the new features of our assembler. 2017-01-23 17:16:39 -05:00
cfu8.s In PowerPC libem, use the new features of our assembler. 2017-01-23 17:16:39 -05:00
cif8.s Stop inlining code to convert integers to floats. 2017-10-17 17:00:28 -04:00
cms.s Use lwzu, stwu to tighten more loops. 2017-10-18 12:12:42 -04:00
com.s Use lwzu, stwu to tighten more loops. 2017-10-18 12:12:42 -04:00
csa.s Add test for EM _rck_. Fix traps in PowerPC ncg. 2017-12-24 22:37:52 -05:00
csb.s Add test for EM _rck_. Fix traps in PowerPC ncg. 2017-12-24 22:37:52 -05:00
cuf8.s Stop inlining code to convert integers to floats. 2017-10-17 17:00:28 -04:00
exg.s Revise stack shuffles and integer conversions in PowerPC ncg. 2017-12-09 18:57:10 -05:00
fd_00000000.s In PowerPC libem, use the new features of our assembler. 2017-01-23 17:16:39 -05:00
fd_80000000.s In PowerPC libem, use the new features of our assembler. 2017-01-23 17:16:39 -05:00
fd_FFFFFFFF.s In PowerPC libem, use the new features of our assembler. 2017-01-23 17:16:39 -05:00
fef8.s Change .fef8 and .fif8 to pass values on the stack. 2017-02-12 16:44:37 -05:00
fif8.s Change .fef8 and .fif8 to pass values on the stack. 2017-02-12 16:44:37 -05:00
inn.s In PowerPC libem, use the new features of our assembler. 2017-01-23 17:16:39 -05:00
ior.s Use lwzu, stwu to tighten more loops. 2017-10-18 12:12:42 -04:00
lar4.s Use .los4 in lar 4 and .sts4 in sar 4. 2017-02-13 15:22:00 -05:00
los4.s Use .los4 in lar 4 and .sts4 in sar 4. 2017-02-13 15:22:00 -05:00
rck.s Add test for EM _rck_. Fix traps in PowerPC ncg. 2017-12-24 22:37:52 -05:00
sar4.s Use .los4 in lar 4 and .sts4 in sar 4. 2017-02-13 15:22:00 -05:00
set.s In PowerPC libem, use the new features of our assembler. 2017-01-23 17:16:39 -05:00
sts4.s Use .los4 in lar 4 and .sts4 in sar 4. 2017-02-13 15:22:00 -05:00
trp.s Add test for EM _rck_. Fix traps in PowerPC ncg. 2017-12-24 22:37:52 -05:00
xor.s Use lwzu, stwu to tighten more loops. 2017-10-18 12:12:42 -04:00
zer.s Use lwzu, stwu to tighten more loops. 2017-10-18 12:12:42 -04:00