From 0f29fed1f1f68894b756e13ea49eb2c46a426cbc Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Thu, 7 Jan 2010 17:59:17 +1300 Subject: [PATCH] cpu.x86: add some alien-assembly unit tests --- basis/cpu/x86/32/32-tests.factor | 7 +++++++ basis/cpu/x86/64/64-tests.factor | 15 +++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 basis/cpu/x86/32/32-tests.factor create mode 100644 basis/cpu/x86/64/64-tests.factor diff --git a/basis/cpu/x86/32/32-tests.factor b/basis/cpu/x86/32/32-tests.factor new file mode 100644 index 0000000000..bc07e3a25b --- /dev/null +++ b/basis/cpu/x86/32/32-tests.factor @@ -0,0 +1,7 @@ +IN: cpu.x86.32.tests +USING: alien alien.c-types tools.test cpu.x86.assembler +cpu.x86.assembler.operands ; + +: assembly-test-1 ( -- x ) int { } "cdecl" [ EAX 3 MOV ] alien-assembly ; + +[ 3 ] [ assembly-test-1 ] unit-test diff --git a/basis/cpu/x86/64/64-tests.factor b/basis/cpu/x86/64/64-tests.factor new file mode 100644 index 0000000000..6d171af7ea --- /dev/null +++ b/basis/cpu/x86/64/64-tests.factor @@ -0,0 +1,15 @@ +USING: alien alien.c-types cpu.architecture cpu.x86.64 +cpu.x86.assembler cpu.x86.assembler.operands tools.test ; +IN: cpu.x86.64.tests + +: assembly-test-1 ( -- x ) int { } "cdecl" [ RAX 3 MOV ] alien-assembly ; + +[ 3 ] [ assembly-test-1 ] unit-test + +: assembly-test-2 ( a b -- x ) + int { int int } "cdecl" [ + param-reg-0 param-reg-1 ADD + int-regs return-reg param-reg-0 MOV + ] alien-assembly ; + +[ 23 ] [ 17 6 assembly-test-2 ] unit-test