summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/cris/asm/op3.ms
blob: 44fa83a7981254256d5a7784470c3b51306d231d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# mach: crisv0 crisv3 crisv8 crisv10
# output: ee19cd0b\nee197761\nccff2244\n55aa77ff\nffffaa77\naa\n4243ab11\n424377ab\nfdedaaf0\n4242dd68\n4242dd68\n40025567\n57eb77ff\n55aa77ff\n

 .include "testutils.inc"
 .data
x:
 .dword 0x55aa77ff
 .dword 0xccff2244
 .dword 0x88ccee19

 start
 move.d x,r10
 moveq 0,r3
 moveq 12,r4
 add.d [r10+6],r4,r3
 test_cc 1 0 0 0
 dumpr3 ; ee19cd0b

 move.d 0x1267,r7
 subu.w [r10+2],r3,r8
 test_cc 1 0 0 0
 move.d r8,r3
 dumpr3 ; ee197761

 moveq 1,r8
 bound.d [r10+r8.d],r3,r5
 test_move_cc 1 0 0 0
 move.d r5,r3
 dumpr3 ; ccff2244

; Also applies to move insns.  Bleah.
 moveq 0,r5
 bdap 0,r10
 move.d [r3],r5
 test_move_cc 0 0 0 0
 dumpr3 ; 55aa77ff

 moveq 0,r5
 bdap 1,r10
 movs.w [r3],r5
 test_move_cc 1 0 0 0
 dumpr3 ; ffffaa77

 moveq 0,r5
 bdap 2,r10
 test_move_cc 0 0 0 0
 movu.b [r3],r5
 dumpr3 ; aa

 move.d 0x42435567,r8
 bdap 2,r10
 adds.w [r3],r8
 test_cc 0 0 0 0
 dumpr3 ; 4243ab11

 move.d 0x42435567,r8
 bdap 4,r10
 addu.w [r3],r8
 test_cc 0 0 0 0
 dumpr3 ; 424377ab

 move.d 0x42435567,r8
 bdap 1,r10
 sub.d [r3],r8
 test_cc 1 0 0 1
 dumpr3 ; fdedaaf0

 move.d 0x42435567,r8
 bdap 0,r10
 subs.w [r3],r8
 test_cc 0 0 0 0
 dumpr3 ; 4242dd68

 move.d 0x42435567,r8
 bdap 0,r10
 subu.w [r3],r8
 test_cc 0 0 0 0
 dumpr3 ; 4242dd68

 move.d 0x42435567,r8
 bdap 0,r10
 and.d [r3],r8
 test_move_cc 0 0 0 0
 dumpr3 ; 40025567

 move.d 0x42435567,r8
 bdap 0,r10
 or.d [r3],r8
 test_move_cc 0 0 0 0
 dumpr3 ; 57eb77ff

 move.d 0xc2435567,r8
 bdap 0,r10
 bound.d [r3],r8
 test_move_cc 0 0 0 0
 dumpr3 ; 55aa77ff

 quit