projects
/
external
/
gdb.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Upload Tizen:Base source
[external/gdb.git]
/
sim
/
testsuite
/
sim
/
sh64
/
compact
/
mulsw.cgs
1
# sh testcase for muls.w $rm, $rn -*- Asm -*-
2
# mach: all
3
# as: -isa=shcompact
4
# ld: -m shelf32
5
6
.include "compact/testutils.inc"
7
8
start
9
10
sts mach, r7
11
12
.global mulsw
13
zero:
14
mov #0, r0
15
mov #1, r1
16
muls.w r0, r1
17
18
# Check the result.
19
sts macl, r3
20
mov #0, r4
21
cmp/eq r3, r4
22
bf wrong
23
24
sxs:
25
# Small * small.
26
mov #1, r0
27
mov #2, r1
28
muls.w r0, r1
29
30
# Check the result.
31
sts macl, r3
32
mov #2, r4
33
cmp/eq r3, r4
34
bf wrong
35
36
sxl:
37
# Small * large.
38
mov #1, r0
39
mov #255, r1
40
shll8 r1
41
muls.w r0, r1
42
43
# Check the result.
44
sts macl, r3
45
mov #0, r4
46
not r4, r4
47
shll8 r4
48
cmp/eq r3, r4
49
bf wrong
50
51
lxs:
52
# Large * small.
53
mov #255, r0
54
shll8 r0
55
mov #1, r1
56
muls.w r0, r1
57
58
# Check the result.
59
sts macl, r3
60
mov #0, r4
61
not r4, r4
62
shll8 r4
63
cmp/eq r3, r4
64
bf wrong
65
66
lxl:
67
# Large * large.
68
mov #255, r0
69
shll8 r0
70
mov #255, r1
71
shll8 r1
72
muls.w r0, r1
73
74
# Check the result.
75
sts macl, r3
76
mov #1, r4
77
shll16 r4
78
cmp/eq r3, r4
79
bf wrong
80
81
invariant:
82
# Ensure MACH is invariant.
83
sts mach, r8
84
cmp/eq r7, r8
85
bf wrong
86
87
okay:
88
pass
89
90
wrong:
91
fail