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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# frv testcase for msubaccs $ACC40Si,$ACC40Sk
# mach: fr400
.include "../testutils.inc"
start
.global msubaccs
msubaccs:
set_accg_immed 0,accg0
set_acc_immed 0x00000000,acc0
set_accg_immed 0,accg1
set_acc_immed 0x00000000,acc1
msubaccs acc0,acc3
test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
test_accg_immed 0,accg3
test_acc_limmed 0x0000,0x0000,acc3
set_accg_immed 0,accg0
set_acc_immed 0xdead0000,acc0
set_accg_immed 0,accg1
set_acc_immed 0x0000beef,acc1
msubaccs acc0,acc3
test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
test_accg_immed 0,accg3
test_acc_limmed 0xdeac,0x4111,acc3
set_accg_immed 0,accg0
set_acc_immed 0x0000dead,acc0
set_accg_immed 0,accg1
set_acc_immed 0xbeef0000,acc1
msubaccs acc0,acc3
test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
test_accg_immed 0xff,accg3
test_acc_limmed 0x4111,0xdead,acc3
set_accg_immed 0,accg0
set_acc_immed 0x12345678,acc0
set_accg_immed 0,accg1
set_acc_immed 0x11111111,acc1
msubaccs acc0,acc3
test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
test_accg_immed 0,accg3
test_acc_limmed 0x0123,0x4567,acc3
set_accg_immed 0,accg0
set_acc_immed 0x12345678,acc0
set_accg_immed 0,accg1
set_acc_immed 0xffffffff,acc1
msubaccs acc0,acc3
test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
test_accg_immed 0xff,accg3
test_acc_limmed 0x1234,0x5679,acc3
set_accg_immed 0,accg0
set_acc_immed 0x12345678,acc0
set_accg_immed 0xff,accg1
set_acc_immed 0xffffffff,acc1
msubaccs acc0,acc3
test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
test_accg_immed 0,accg3
test_acc_limmed 0x1234,0x5679,acc3
set_spr_immed 0,msr0
set_accg_immed 0x7f,accg0
set_acc_immed 0xfffffffe,acc0
set_accg_immed 0xff,accg1
set_acc_immed 0xfffffffe,acc1
msubaccs acc0,acc3
test_spr_bits 0x3c,2,0x8,msr0 ; msr0.sie is set
test_spr_bits 2,1,1,msr0 ; msr0.ovf set
test_spr_bits 1,0,1,msr0 ; msr0.aovf set
test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
test_accg_immed 0x7f,accg3
test_acc_limmed 0xffff,0xffff,acc3
set_spr_immed 0,msr0
set_accg_immed 0x80,accg0
set_acc_immed 0x00000001,acc0
set_accg_immed 0,accg1
set_acc_immed 0x00000002,acc1
msubaccs acc0,acc3
test_spr_bits 0x3c,2,0x8,msr0 ; msr0.sie is set
test_spr_bits 2,1,1,msr0 ; msr0.ovf set
test_spr_bits 1,0,1,msr0 ; msr0.aovf set
test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
test_accg_immed 0x80,accg3
test_acc_limmed 0x0000,0x0000,acc3
set_spr_immed 0,msr0
set_spr_immed 0,msr1
set_accg_immed 0,accg0
set_acc_immed 0x00000001,acc0
set_accg_immed 0,accg1
set_acc_immed 0x00000001,acc1
set_accg_immed 0,accg2
set_acc_immed 0x00000001,acc2
set_accg_immed 0x80,accg3
set_acc_immed 0x00000000,acc3
msubaccs.p acc0,acc1
msubaccs acc2,acc3
test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
test_spr_bits 0x3c,2,0x8,msr1 ; msr0.sie is set
test_spr_bits 2,1,1,msr1 ; msr1.ovf set
test_spr_bits 1,0,1,msr0 ; msr0.aovf set
test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
test_accg_immed 0,accg1
test_acc_limmed 0x0000,0x0000,acc1
test_accg_immed 0x7f,accg3
test_acc_limmed 0xffff,0xffff,acc3
pass
|