qemu/tests/tcg/cris/bare/check_movsm.s
<<
>>
Prefs
   1# mach: crisv3 crisv8 crisv10 crisv32
   2# output: 5\nfffffff5\n5\nfffffff5\n0\n
   3
   4; Movs between registers.  Check that sign-extension is performed and the
   5; full register is set.
   6
   7 .include "testutils.inc"
   8
   9 .data
  10x:
  11 .byte 5,-11
  12 .word 5,-11
  13 .word 0
  14
  15 start
  16 move.d x,r5
  17
  18 moveq -1,r3
  19 movs.b [r5+],r3
  20 test_move_cc 0 0 0 0
  21 checkr3 5
  22
  23 moveq 0,r3
  24 movs.b [r5],r3
  25 test_move_cc 1 0 0 0
  26 addq 1,r5
  27 checkr3 fffffff5
  28
  29 moveq -1,r3
  30 movs.w [r5+],r3
  31 test_move_cc 0 0 0 0
  32 checkr3 5
  33
  34 moveq 0,r3
  35 movs.w [r5],r3
  36 test_move_cc 1 0 0 0
  37 addq 2,r5
  38 checkr3 fffffff5
  39
  40 movs.w [r5],r3
  41 test_move_cc 0 1 0 0
  42 checkr3 0
  43
  44 quit
  45