symbian-qemu-0.9.1-12/qemu-symbian-svp/tests/cris/check_lsr.s
author johnathan.white@2718R8BGH51.accenture.com
Mon, 08 Mar 2010 18:45:03 +0000
changeset 46 b6935a90ca64
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Modify framebuffer and NGA framebuffer to read screen size from board model dtb file. Optimise memory usuage of frame buffer Add example minigui application with hooks to profiler (which writes results to S:\). Modified NGA framebuffer to run its own dfc queue at high priority

# mach: crisv0 crisv3 crisv8 crisv10 crisv32
# output: ffffffff\n1\n1\n1ffff\n5a67f\n1\n0\n0\n3699fc67\nffffffff\n1\n1\n1ffff\n5a67f\nda670000\nda670000\nda670000\nda673c67\nffffffff\nffff7fff\n1\nffff0000\nffff0001\n5a67000f\nda67f100\nda67f100\nda67f100\nda67f127\nffffffff\nffffff7f\n1\nffffff00\nffffff00\nffffff01\n5a67f100\n5a67f109\n

 .include "testutils.inc"
 start
 moveq -1,r3
 lsrq 0,r3
 test_move_cc 1 0 0 0
 checkr3 ffffffff

 moveq 2,r3
 lsrq 1,r3
 test_move_cc 0 0 0 0
 checkr3 1

 moveq -1,r3
 lsrq 31,r3
 test_move_cc 0 0 0 0
 checkr3 1

 moveq -1,r3
 lsrq 15,r3
 test_move_cc 0 0 0 0
 checkr3 1ffff

 move.d 0x5a67f19f,r3
 lsrq 12,r3
 test_move_cc 0 0 0 0
 checkr3 5a67f

 move.d 0xda67f19f,r3
 move.d 31,r4
 lsr.d r4,r3
 test_move_cc 0 0 0 0
 checkr3 1

 move.d 0xda67f19f,r3
 move.d 32,r4
 lsr.d r4,r3
 test_move_cc 0 1 0 0
 checkr3 0

 move.d 0xda67f19f,r3
 move.d 33,r4
 lsr.d r4,r3
 test_move_cc 0 1 0 0
 checkr3 0

 move.d 0xda67f19f,r3
 move.d 66,r4
 lsr.d r4,r3
 test_move_cc 0 0 0 0
 checkr3 3699fc67

 moveq -1,r3
 moveq 0,r4
 lsr.d r4,r3
 test_move_cc 1 0 0 0
 checkr3 ffffffff

 moveq 2,r3
 moveq 1,r4
 lsr.d r4,r3
 test_move_cc 0 0 0 0
 checkr3 1

 moveq -1,r3
 moveq 31,r4
 lsr.d r4,r3
 test_move_cc 0 0 0 0
 checkr3 1

 moveq -1,r3
 moveq 15,r4
 lsr.d r4,r3
 test_move_cc 0 0 0 0
 checkr3 1ffff

 move.d 0x5a67f19f,r3
 moveq 12,r4
 lsr.d r4,r3
 test_move_cc 0 0 0 0
 checkr3 5a67f

 move.d 0xda67f19f,r3
 move.d 31,r4
 lsr.w r4,r3
 test_move_cc 0 1 0 0
 checkr3 da670000

 move.d 0xda67f19f,r3
 move.d 32,r4
 lsr.w r4,r3
 test_move_cc 0 1 0 0
 checkr3 da670000

 move.d 0xda67f19f,r3
 move.d 33,r4
 lsr.w r4,r3
 test_move_cc 0 1 0 0
 checkr3 da670000

 move.d 0xda67f19f,r3
 move.d 66,r4
 lsr.w r4,r3
 test_move_cc 0 0 0 0
 checkr3 da673c67

 moveq -1,r3
 moveq 0,r4
 lsr.w r4,r3
 test_move_cc 1 0 0 0
 checkr3 ffffffff

 moveq -1,r3
 moveq 1,r4
 lsr.w r4,r3
 test_move_cc 0 0 0 0
 checkr3 ffff7fff

 moveq 2,r3
 moveq 1,r4
 lsr.w r4,r3
 test_move_cc 0 0 0 0
 checkr3 1

;; FIXME: this was wrong. Z should be set.
 moveq -1,r3
 moveq 31,r4
 lsr.w r4,r3
 test_move_cc 0 1 0 0
 checkr3 ffff0000

 moveq -1,r3
 moveq 15,r4
 lsr.w r4,r3
 test_move_cc 0 0 0 0
 checkr3 ffff0001

 move.d 0x5a67f19f,r3
 moveq 12,r4
 lsr.w r4,r3
 test_move_cc 0 0 0 0
 checkr3 5a67000f

 move.d 0xda67f19f,r3
 move.d 31,r4
 lsr.b r4,r3
 test_move_cc 0 1 0 0
 checkr3 da67f100

 move.d 0xda67f19f,r3
 move.d 32,r4
 lsr.b r4,r3
 test_move_cc 0 1 0 0
 checkr3 da67f100

 move.d 0xda67f19f,r3
 move.d 33,r4
 lsr.b r4,r3
 test_move_cc 0 1 0 0
 checkr3 da67f100

 move.d 0xda67f19f,r3
 move.d 66,r4
 lsr.b r4,r3
 test_move_cc 0 0 0 0
 checkr3 da67f127

 moveq -1,r3
 moveq 0,r4
 lsr.b r4,r3
 test_move_cc 1 0 0 0
 checkr3 ffffffff

 moveq -1,r3
 moveq 1,r4
 lsr.b r4,r3
 test_move_cc 0 0 0 0
 checkr3 ffffff7f

 moveq 2,r3
 moveq 1,r4
 lsr.b r4,r3
 test_move_cc 0 0 0 0
 checkr3 1

 moveq -1,r3
 moveq 31,r4
 lsr.b r4,r3
 test_move_cc 0 1 0 0
 checkr3 ffffff00

 moveq -1,r3
 moveq 15,r4
 lsr.b r4,r3
 test_move_cc 0 1 0 0
 checkr3 ffffff00

 moveq -1,r3
 moveq 7,r4
 lsr.b r4,r3
 test_move_cc 0 0 0 0
 checkr3 ffffff01

 move.d 0x5a67f19f,r3
 moveq 12,r4
 lsr.b r4,r3
 test_move_cc 0 1 0 0
 checkr3 5a67f100

 move.d 0x5a67f19f,r3
 moveq 4,r4
 lsr.b r4,r3
 test_move_cc 0 0 0 0
 checkr3 5a67f109

 quit