qemu/tests/tcg/cris/bare/check_movei.s
<<
>>
Prefs
   1# mach: crisv32
   2# output: fffffffe\n
   3# output: fffffffe\n
   4
   5; Check basic integral-write semantics regarding flags.
   6
   7 .include "testutils.inc"
   8 start
   9
  10 move.d 0, $r3  
  11; A write that works.  Check that flags are set correspondingly.
  12 move.d d,r4
  13 ;; store to bring it into the tlb with the right prot bits
  14 move.d r3,[r4]
  15 moveq -2,r5
  16 setf c
  17 clearf p
  18 move.d [r4],r3
  19 ax
  20 move.d r5,[r4]
  21 move.d [r4],r3
  22
  23 bcc 0f
  24 nop
  25 fail
  26
  270:
  28 checkr3 fffffffe
  29
  30; A write that fails; check flags too.
  31 move.d d,r4
  32 moveq 23,r5
  33 setf p
  34 clearf c
  35 move.d [r4],r3
  36 ax
  37 move.d r5,[r4]
  38 move.d [r4],r3
  39
  40 bcs 0f
  41 nop
  42 fail
  43
  440:
  45 checkr3 fffffffe
  46 quit
  47
  48 .data
  49d:
  50 .dword 42424242
  51