qemu/tests/tcg/cris/check_cmpxm.s
<<
>>
Prefs
   1# mach: crisv0 crisv3 crisv8 crisv10 crisv32
   2# output: 2\n2\n2\n2\nffff\nffff\nffff\nffff\nffffffff\nffffffff\nffffffff\n78134452\n78134452\n78134452\n78134452\n4452\n80000032\n
   3
   4 .include "testutils.inc"
   5 .data
   6x:
   7 .byte 0xff
   8 .word 0xffff
   9 .word 0xff
  10 .word 0xffff
  11 .byte 0x89
  12 .word 0xf789
  13 .word 0x8002
  14 .word 0x764
  15
  16 start
  17 moveq 2,r3
  18 move.d x,r5
  19 cmps.b [r5+],r3
  20 test_cc 0 0 0 1
  21 checkr3 2
  22
  23 moveq 2,r3
  24 cmps.w [r5+],r3
  25 test_cc 0 0 0 1
  26 checkr3 2
  27
  28 moveq 2,r3
  29 subq 3,r5
  30 cmpu.b [r5+],r3
  31 test_cc 1 0 0 1
  32 checkr3 2
  33
  34 moveq 2,r3
  35 cmpu.w [r5+],r3
  36 test_cc 1 0 0 1
  37 subq 3,r5
  38 checkr3 2
  39
  40 move.d 0xffff,r3
  41 cmpu.b [r5],r3
  42 test_cc 0 0 0 0
  43 checkr3 ffff
  44
  45 move.d 0xffff,r3
  46 cmpu.w [r5],r3
  47 test_cc 0 1 0 0
  48 checkr3 ffff
  49
  50 move.d 0xffff,r3
  51 cmps.b [r5],r3
  52 test_cc 0 0 0 1
  53 checkr3 ffff
  54
  55 move.d 0xffff,r3
  56 cmps.w [r5],r3
  57 test_cc 0 0 0 1
  58 checkr3 ffff
  59
  60 moveq -1,r3
  61 cmps.b [r5],r3
  62 test_cc 0 1 0 0
  63 addq 3,r5
  64 checkr3 ffffffff
  65
  66 moveq -1,r3
  67 cmps.w [r5+],r3
  68 test_cc 1 0 0 0
  69 checkr3 ffffffff
  70
  71 moveq -1,r3
  72 cmps.w [r5+],r3
  73 test_cc 0 1 0 0
  74 checkr3 ffffffff
  75
  76 move.d 0x78134452,r3
  77 cmpu.b [r5],r3
  78 test_cc 0 0 0 0
  79 checkr3 78134452
  80
  81 move.d 0x78134452,r3
  82 cmps.b [r5+],r3
  83 test_cc 0 0 0 1
  84 checkr3 78134452
  85
  86 move.d 0x78134452,r3
  87 cmpu.w [r5],r3
  88 test_cc 0 0 0 0
  89 checkr3 78134452
  90
  91 move.d 0x78134452,r3
  92 cmps.w [r5+],r3
  93 test_cc 0 0 0 1
  94 checkr3 78134452
  95
  96 move.d 0x4452,r3
  97 cmps.w [r5+],r3
  98 test_cc 0 0 0 1
  99 checkr3 4452
 100
 101 move.d 0x80000032,r3
 102 cmpu.w [r5+],r3
 103 test_cc 0 0 1 0
 104 checkr3 80000032
 105
 106 quit
 107