Automatic date update in version.in
[binutils-gdb.git] / sim / testsuite / mips / utils-r6.inc
blobb5c88e54bc703679a118220ef8cf4f3849131583
1   .macro fp_assert a, b
2   beq \a, \b, 1f
3   nop
4   j _fail
5   nop
6 1:
7   .endm
9   .macro r6ck_1r inst, a, ret
10   li $4, \a
11   li $6, \ret
12   \inst $7, $4
13   fp_assert $6, $7
14   .endm
16   .macro r6ck_1dr inst, a, ret
17   ld $4, \a
18   ld $6, \ret
19   \inst $7, $4
20   fp_assert $6, $7
21   .endm
23   .macro r6ck_2r inst, a, b, ret
24   li $4, \a
25   li $5, \b
26   li $6, \ret
27   \inst $7, $4, $5
28   fp_assert $6, $7
29   .endm
31   .macro r6ck_2dr inst, a, b, ret
32   ld $4, \a
33   ld $5, \b
34   ld $6, \ret
35   \inst $7, $4, $5
36   fp_assert $6, $7
37   .endm
39   .macro r6ck_2dr1i inst, a, b, imm, ret
40   ld $4, \a
41   ld $5, \b
42   ld $6, \ret
43   \inst $7, $4, $5, \imm
44   fp_assert $6, $7
45   .endm
47   .macro r6ck_1r1i inst, a, imm, ret
48   li $4, \a
49   li $6, \ret
50   \inst $7, $4, \imm
51   fp_assert $6, $7
52   .endm
54   .macro r6ck_1dr1i inst, a, imm, ret
55   ld $4, \a
56   ld $6, \ret
57   \inst $7, $4, \imm
58   fp_assert $6, $7
59   .endm
61   .macro r6ck_0dr1i inst, a, imm, ret
62   ld $4, \a
63   ld $6, \ret
64   \inst $4, $4, \imm
65   fp_assert $6, $4
66   .endm
68   .macro r6ck_2r1i inst, a, b, imm, ret
69   li $4, \a
70   li $5, \b
71   li $6, \ret
72   \inst $7, $4, $5, \imm
73   fp_assert $6, $7
74   .endm
76   .macro r6ck_3s inst, a, b, c, ret
77   li $4, \a
78   li $5, \b
79   li $6, \c
80   li $7, \ret
81   mtc1 $4, $f2
82   mtc1 $5, $f4
83   mtc1 $6, $f6
84   \inst $f2, $f4, $f6
85   mfc1 $8, $f2
86   fp_assert $7, $8
87   .endm
89   .macro r6ck_2s inst, a, b, ret
90   li $4, \a
91   li $5, \b
92   li $6, \ret
93   mtc1 $4, $f2
94   mtc1 $5, $f4
95   \inst $f2, $f4
96   mfc1 $7, $f2
97   fp_assert $6, $7
98   .endm
100   .macro r6ck_2d inst, a, b, ret
101   .data
102 1: .dword \a
103 2: .dword \b
104 3: .dword \ret
105   .text
106   la $4, 1b
107   la $5, 2b
108   la $6, 3b
109   ldc1 $f2, 0($4)
110   ldc1 $f4, 0($5)
111   lw $7, 0($6)
112   lw $8, 4($6)
113   \inst $f2, $f4
115   #simulate dmfc1
116   mfhc1 $9, $f2
117   mfc1 $10, $f2
118   fp_assert $7, $9
119   fp_assert $8, $10
120   .endm
122   .macro r6ck_3d inst, a, b, c, ret
123   .data
124 1: .dword \a
125 2: .dword \b
126 3: .dword \c
127 4: .dword \ret
128   .text
129   la $4, 1b
130   la $5, 2b
131   la $6, 3b
132   la $2, 4b
133   ldc1 $f2, 0($4)
134   ldc1 $f4, 0($5)
135   ldc1 $f6, 0($6)
136   lw $7, 0($2)
137   lw $8, 4($2)
138   \inst $f2, $f4, $f6
140   #simulate dmfc1
141   mfhc1 $9, $f2
142   mfc1 $10, $f2
143   fp_assert $7, $9
144   fp_assert $8, $10
145   .endm
147 .text
148 GetPC:
149   move $6, $ra
150   jr $ra