1
# SPIM S20 MIPS simulator.
2
# A torture test for the FPU instructions in the bare SPIM simulator.
3
# Copyright (C) 1990-2000 by James Larus, larus@cs.wisc.edu.
6
# SPIM is distributed under the following conditions:
8
# You may make copies of SPIM for your own use and modify those copies.
10
# All copies of SPIM must retain my name and copyright notice.
12
# You may not sell SPIM or distributed SPIM in conjunction with a commerical
13
# product or service without the expressed written consent of James Larus.
15
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
16
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
17
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21
# $Header: /u/faculty/larus/Software/larus/SPIM/Tests/RCS/tt.fpu.bare.s,v 1.3 1994/01/18 03:23:44 larus Exp $
23
# Adapted by Anne Rogers <amr@blueline.Princeton.EDU> from tt.le.s.
27
# Test floating point instructions. Warning: This code is not relocatable.
28
# New data statements should be added after "Testing C.UN.S\n".
31
saved_ret_pc: .word 0 # Holds PC to return from main
33
pt: .asciiz "Passed all tests\n"
36
# Standard startup code. Invoke the routine main with no arguments.
41
syscall # syscall 10 (exit)
54
abs.s_:.asciiz "Testing ABS.S\n"
56
fp_sm100:.float -100.0
58
addi $v0 $0 4 # syscall 4 (print_str)
87
abs.d_:.asciiz "Testing ABS.D\n"
89
fp_dm100:.double -100.0
91
addi $v0 $0 4 # syscall 4 (print_str)
126
add.s_: .asciiz "Testing ADD.S\n"
131
addi $v0 $0 4 # syscall 4 (print_str)
167
add.d_: .asciiz "Testing ADD.D\n"
172
addi $v0 $0 4 # syscall 4 (print_str)
225
cvt.d.s_: .asciiz "Testing CVT.D.S\n"
227
addi $v0 $0 4 # syscall 4 (print_str)
240
lwc1 $f0 0($2) #fp_s0
252
lw $5 12($1) # fp_d1+4
253
lwc1 $f0 4($2) # fp_s1
264
lw $4 16($1) # fp_dm1
265
lw $5 20($1) # fp_dm1+4
266
lwc1 $f0 8($2) # fp_sm1
278
cvt.d.w_: .asciiz "Testing CVT.D.W\n"
280
addi $v0 $0 4 # syscall 4 (print_str)
289
lw $5 4($1) # fp_d0+4
302
lw $5 12 ($1) # fp_d1+4
315
lw $4 16($1) # fp_dm1
316
lw $5 20($1) # fp_dm1+4
329
cvt.s.d_: .asciiz "Testing CVT.S.D\n"
331
addi $v0 $0 4 # syscall 4 (print_str)
342
lwc1 $f0 0($2) # fp_d0
343
lwc1 $f1 4($2) # fp_d0+4
352
lwc1 $f0 8($2) # fp_d1
353
lwc1 $f1 12($2) # fp_d1+4
363
lwc1 $f0 16($2) # fp_dm1
364
lwc1 $f1 20 ($2) # fp_dm1+4
374
cvt.s.w_: .asciiz "Testing CVT.S.W\n"
376
addi $v0 $0 4 # syscall 4 (print_str)
412
cvt.w.d_: .asciiz "Testing CVT.W.D\n"
414
addi $v0 $0 4 # syscall 4 (print_str)
422
lwc1 $f0 0($1) # fp_d0
423
lwc1 $f1 4($1) # fp_d0+4
431
lwc1 $f0 8($1) # fp_d1
432
lwc1 $f1 12($1) # fp_d1+4
441
lwc1 $f0 16($1) # fp_dm1
442
lwc1 $f1 20($1) # fp_dm1+4
452
cvt.w.s_: .asciiz "Testing CVT.W.S\n"
454
# addi $v0 $0 4 # syscall 4 (print_str)
462
lwc1 $f0 0($1) # fp_s0
470
lwc1 $f0 4($1) # fp_s1
478
lwc1 $f0 8($1) # fp_sm1
488
div.s_: .asciiz "Testing DIV.S\n"
493
addi $v0 $0 4 # syscall 4 (print_str)
502
lwc1 $f0 4($1) # fp_s1
512
lw $4 8($2) # fp_s1p5
513
lwc1 $f0 4($2) # fp_s3
514
lwc1 $f2 0($2) # fp_s2
524
div.d_: .asciiz "Testing DIV.D\n"
525
# EOS = 132...align to 138
530
addi $v0 $0 4 # syscall 4 (print_str)
539
lw $5 4($1) # fp_d1+4
540
lwc1 $f0 0($1) # fp_d1
541
lwc1 $f1 4($1) # fp_d1+4
554
ori $2 $2 0x138 # Nop
555
lw $4 16($2) # fp_d1p5
556
lw $5 20($2) # fp_d1p5+4
557
lwc1 $f0 8($2) # fp_d3
558
lwc1 $f1 12($2) # fp_d3+4
559
lwc1 $f2 0($2) # fp_d2
560
lwc1 $f3 4($2) # fp_d2+4
571
mov.s_: .asciiz "Testing MOV.S\n"
573
addi $v0 $0 4 # syscall 4 (print_str)
583
lwc1 $f2 4($1) # fp_s1
593
mov.d_: .asciiz "Testing MOV.D\n"
595
addi $v0 $0 4 # syscall 4 (print_str)
604
lw $5 12($1) # fp_d1+4
605
lwc1 $f2 8($1) # fp_d1
606
lwc1 $f3 12($1) # fp_d1+4
619
mul.s_: .asciiz "Testing MUL.S\n"
621
addi $v0 $0 4 # syscall 4 (print_str)
631
lwc1 $f0 4($1) # fp_s1
642
lwc1 $f0 8($2) # fp_s1p5
643
lwc1 $f2 0($2) # fp_s2
652
mul.d_: .asciiz "Testing MUL.D\n"
654
addi $v0 $0 4 # syscall 4 (print_str)
663
lw $5 4($1) # fp_d1+4
664
lwc1 $f0 0($1) # fp_d1
665
lwc1 $f1 4($1) # fp_d1+4
676
ori $2 $2 0x138 # Nop
678
lw $5 12($2) # fp_d3+4
679
lwc1 $f0 16($2) # fp_d1p5
680
lwc1 $f1 20($2) # fp_d1p5+4
681
lwc1 $f2 0($2) # fp_d2
682
lwc1 $f3 4($2) # fp_d2+4
694
neg.s_: .asciiz "Testing NEG.S\n"
698
addi $v0 $0 4 # syscall 4 (print_str)
707
lwc1 $f0 4($1) # fp_s1
720
lwc1 $f0 0($1) # fp_sm3
729
neg.d_: .asciiz "Testing NEG.D\n"
732
addi $v0 $0 4 # syscall 4 (print_str)
740
lw $4 16($1) # fp_dm1
741
lw $5 20($1) # fp_dm1+4
742
lwc1 $f0 8($1) # fp_d1
743
lwc1 $f1 12($1) # fp_d1+4
754
ori $2 $2 0x138 # Nop
756
lw $5 12($2) # fp_d3+4
759
lwc1 $f0 0($1) # fp_dm3
760
lwc1 $f1 4($1) # fp_dm3+4
772
sub.s_: .asciiz "Testing SUB.S\n"
774
addi $v0 $0 4 # syscall 4 (print_str)
783
lwc1 $f0 0($1) # fp_s0
791
lwc1 $f0 0($1) # fp_s0
792
lwc1 $f2 4($1) # fp_s1
806
lw $4 8($2) # fp_s1p5
807
lwc1 $f0 8($2) # fp_s1p5
808
lwc1 $f2 4($2) # fp_s3
817
sub.d_: .asciiz "Testing SUB.D\n"
819
addi $v0 $0 4 # syscall 4 (print_str)
828
lw $5 4($1) # fp_d0+4
829
lwc1 $f0 0($1) # fp_d0
830
lwc1 $f1 4($1) # fp_d0+4
840
lw $4 16($1) # fp_dm1
841
lw $5 20($1) # fp_dm1+4
842
lwc1 $f0 0($1) # fp_d0
843
lwc1 $f1 4($1) # fp_d0+4
844
lwc1 $f2 8($1) # fp_d1
845
lwc1 $f3 12($1) # fp_d1+4
855
lw $5 12($1) # fp_d1+4
865
ori $2 $2 0x138 # Nop
866
lw $4 16($2) # fp_d1p5
867
lw $5 20($2) # fp_d1p5+4
868
lwc1 $f0 16($2) # fp_d1p5
869
lwc1 $f1 20($2) # fp_d1p5+4
870
lwc1 $f2 8($2) # fp_d3
871
lwc1 $f3 12($2) # fp_d3+4
883
c.eq.d_: .asciiz "Testing C.EQ.D\n"
885
addi $v0 $0 4 # syscall 4 (print_str)
893
lwc1 $f0 8($1) # fp_d1
894
lwc1 $f1 12($1) # fp_d1+4
895
lwc1 $f2 8($1) # fp_d1
896
lwc1 $f3 12($1) # fp_d1+4
899
lwc1 $f4 16($2) # fp_d1p5
900
lwc1 $f5 20($2) # fp_d1p5+4
906
addu $0 $0 $0 # Nop Delay slot
908
addu $0 $0 $0 # Nop Delay slot
910
addu $0 $0 $0 # Nop Delay slot
915
addu $0 $0 $0 # Nop Delay slot
917
addu $0 $0 $0 # Nop Delay slot
919
addu $0 $4 $4 # Nop Delay slot
924
c.eq.s_: .asciiz "Testing C.EQ.S\n"
926
addi $v0 $0 4 # syscall 4 (print_str)
934
lwc1 $f0 4($1) # fp_s1
935
lwc1 $f2 4($1) # fp_s1
938
lwc1 $f4 8($2) # fp_s1p5
939
addu $0 $0 $0 # Nop Delay slot
941
addu $0 $0 $0 # Nop Delay slot
942
addu $0 $0 $0 # Nop Delay slot
944
addu $0 $0 $0 # Nop Delay slot
946
addu $0 $0 $0 # Nop Delay slot
948
addu $0 $0 $0 # Nop Delay slot
950
addu $0 $0 $0 # Nop Delay slot
951
addu $0 $0 $0 # Nop Delay slot
953
addu $0 $0 $0 # Nop Delay slot
955
addu $0 $0 $0 # Nop Delay slot
957
addu $0 $0 $0 # Nop Delay slot
958
l211: addu $0 $0 $0 # Nop Delay slot
963
c.f.d_: .asciiz "Testing C.F.D\n"
965
addi $v0 $0 4 # syscall 4 (print_str)
975
lwc1 $f0 8($1) # fp_d1
976
lwc1 $f1 12($1) # fp_d1+4
977
lwc1 $f2 8($1) # fp_d1
978
lwc1 $f3 12($1) # fp_d1+4
979
lwc1 $f4 16($2) # fp_d1p5
980
lwc1 $f5 20($2) # fp_d1p5+4
982
addu $0 $0 $0 # Nop Delay slot
983
addu $0 $0 $0 # Nop Delay slot
985
addu $0 $0 $0 # Nop Delay slot
987
addu $0 $0 $0 # Nop Delay slot
989
addu $0 $0 $0 # Nop Delay slot
991
addu $0 $0 $0 # Nop Delay slot
992
addu $0 $0 $0 # Nop Delay slot
994
addu $0 $0 $0 # Nop Delay slot
996
addu $0 $0 $0 # Nop Delay slot
998
addu $0 $0 $0 # Nop Delay slot
999
l221: addu $0 $0 $0 # Nop Delay slot
1002
c.f.s_: .asciiz "Testing C.F.S\n"
1004
addi $v0 $0 4 # syscall 4 (print_str)
1014
lwc1 $f0 4($1) # fp_s1
1015
lwc1 $f2 4($1) # fp_s1
1016
lwc1 $f4 8($2) # fp_s1p5
1018
addu $0 $0 $0 # Nop Delay slot
1019
addu $0 $0 $0 # Nop Delay slot
1021
addu $0 $0 $0 # Nop Delay slot
1023
addu $0 $0 $0 # Nop Delay slot
1025
addu $0 $0 $0 # Nop Delay slot
1027
addu $0 $0 $0 # Nop Delay slot
1028
addu $0 $0 $0 # Nop Delay slot
1030
addu $0 $0 $0 # Nop Delay slot
1032
addu $0 $0 $0 # Nop Delay slot
1034
addu $0 $0 $0 # Nop Delay slot
1035
l231: addu $0 $0 $0 # Nop Delay slot
1039
c.le.d_: .asciiz "Testing C.LE.D\n"
1040
fp_dm2: .double -2.0
1043
addi $v0 $0 4 # syscall 4 (print_str)
1054
lwc1 $f0 8($1) # fp_d1
1055
lwc1 $f1 12($1) # fp_d1+4
1056
lwc1 $f2 16($2) # fp_d1p5
1057
lwc1 $f3 20($2) # fp_d1p5+4
1060
lwc1 $f4 0($3) # fp_dm2
1061
lwc1 $f5 4($3) # fp_dm2+4
1063
addu $0 $0 $0 # Nop Delay slot
1064
addu $0 $0 $0 # Nop Delay slot
1066
addu $0 $0 $0 # Nop Delay slot
1068
addu $0 $0 $0 # Nop Delay slot
1070
addu $0 $0 $0 # Nop Delay slot
1071
l240: c.le.d $f2 $f0
1072
addu $0 $0 $0 # Nop Delay slot
1073
addu $0 $0 $0 # Nop Delay slot
1075
addu $0 $0 $0 # Nop Delay slot
1077
addu $0 $0 $0 # Nop Delay slot
1079
addu $0 $0 $0 # Nop Delay slot
1080
l241: c.le.d $f0 $f0
1081
addu $0 $0 $0 # Nop Delay slot
1082
addu $0 $0 $0 # Nop Delay slot
1084
addu $0 $0 $0 # Nop Delay slot
1086
addu $0 $0 $0 # Nop Delay slot
1088
addu $0 $0 $0 # Nop Delay slot
1089
l242: c.le.d $f4 $f0
1090
addu $0 $0 $0 # Nop Delay slot
1091
addu $0 $0 $0 # Nop Delay slot
1093
addu $0 $0 $0 # Nop Delay slot
1095
addu $0 $0 $0 # Nop Delay slot
1097
addu $0 $0 $0 # Nop Delay slot
1098
l243: addu $0 $0 $0 # Nop Delay slot
1103
c.le.s_: .asciiz "Testing C.LE.S\n"
1106
addi $v0 $0 4 # syscall 4 (print_str)
1117
lwc1 $f0 4($1) # fp_s1
1118
lwc1 $f2 8($2) # fp_s1p5
1121
lwc1 $f4 0($3) # fp_sm2
1123
addu $0 $0 $0 # Nop Delay slot
1124
addu $0 $0 $0 # Nop Delay slot
1126
addu $0 $0 $0 # Nop Delay slot
1128
addu $0 $0 $0 # Nop Delay slot
1130
addu $0 $0 $0 # Nop Delay slot
1131
l250: c.le.s $f2 $f0
1132
addu $0 $0 $0 # Nop Delay slot
1133
addu $0 $0 $0 # Nop Delay slot
1135
addu $0 $0 $0 # Nop Delay slot
1137
addu $0 $0 $0 # Nop Delay slot
1139
addu $0 $0 $0 # Nop Delay slot
1140
l251: c.le.s $f0 $f0
1141
addu $0 $0 $0 # Nop Delay slot
1142
addu $0 $0 $0 # Nop Delay slot
1144
addu $0 $0 $0 # Nop Delay slot
1146
addu $0 $0 $0 # Nop Delay slot
1148
addu $0 $0 $0 # Nop Delay slot
1149
l252: c.le.s $f4 $f0
1150
addu $0 $0 $0 # Nop Delay slot
1151
addu $0 $0 $0 # Nop Delay slot
1153
addu $0 $0 $0 # Nop Delay slot
1155
addu $0 $0 $0 # Nop Delay slot
1157
addu $0 $0 $0 # Nop Delay slot
1158
l253: addu $0 $0 $0 # Nop Delay slot
1165
c.lt.d_: .asciiz "Testing C.LT.D\n"
1167
addi $v0 $0 4 # syscall 4 (print_str)
1178
lwc1 $f0 8($1) # fp_d1
1179
lwc1 $f1 12($1) # fp_d1+4
1180
lwc1 $f2 16($2) # fp_d1p5
1181
lwc1 $f3 20($2) # fp_d1p5+4
1184
lwc1 $f4 0($3) # fp_dm2
1185
lwc1 $f5 4($3) # fp_dm2+4
1187
addu $0 $0 $0 # Nop Delay slot
1188
addu $0 $0 $0 # Nop Delay slot
1190
addu $0 $0 $0 # Nop Delay slot
1192
addu $0 $0 $0 # Nop Delay slot
1194
addu $0 $0 $0 # Nop Delay slot
1195
l260: c.lt.d $f2 $f0
1196
addu $0 $0 $0 # Nop Delay slot
1197
addu $0 $0 $0 # Nop Delay slot
1199
addu $0 $0 $0 # Nop Delay slot
1201
addu $0 $0 $0 # Nop Delay slot
1203
addu $0 $0 $0 # Nop Delay slot
1204
l261: c.lt.d $f0 $f0
1205
addu $0 $0 $0 # Nop Delay slot
1206
addu $0 $0 $0 # Nop Delay slot
1208
addu $0 $0 $0 # Nop Delay slot
1210
addu $0 $0 $0 # Nop Delay slot
1212
addu $0 $0 $0 # Nop Delay slot
1213
l262: c.lt.d $f4 $f0
1214
addu $0 $0 $0 # Nop Delay slot
1215
addu $0 $0 $0 # Nop Delay slot
1217
addu $0 $0 $0 # Nop Delay slot
1219
addu $0 $0 $0 # Nop Delay slot
1221
addu $0 $0 $0 # Nop Delay slot
1226
c.lt.s_: .asciiz "Testing C.LT.S\n"
1228
addi $v0 $0 4 # syscall 4 (print_str)
1239
lwc1 $f0 4($1) # fp_s1
1240
lwc1 $f2 8($2) # fp_s1p5
1243
lwc1 $f4 0($3) # fp_sm2
1245
addu $0 $0 $0 # Nop Delay slot
1246
addu $0 $0 $0 # Nop Delay slot
1248
addu $0 $0 $0 # Nop Delay slot
1250
addu $0 $0 $0 # Nop Delay slot
1252
addu $0 $0 $0 # Nop Delay slot
1253
l270: c.lt.s $f2 $f0
1254
addu $0 $0 $0 # Nop Delay slot
1255
addu $0 $0 $0 # Nop Delay slot
1257
addu $0 $0 $0 # Nop Delay slot
1259
addu $0 $0 $0 # Nop Delay slot
1261
addu $0 $0 $0 # Nop Delay slot
1262
l271: c.lt.s $f0 $f0
1263
addu $0 $0 $0 # Nop Delay slot
1264
addu $0 $0 $0 # Nop Delay slot
1266
addu $0 $0 $0 # Nop Delay slot
1268
addu $0 $0 $0 # Nop Delay slot
1270
addu $0 $0 $0 # Nop Delay slot
1271
l272: c.lt.s $f4 $f0
1272
addu $0 $0 $0 # Nop Delay slot
1273
addu $0 $0 $0 # Nop Delay slot
1275
addu $0 $0 $0 # Nop Delay slot
1277
addu $0 $0 $0 # Nop Delay slot
1279
addu $0 $0 $0 # Nop Delay slot
1284
c.nge.d_: .asciiz "Testing C.NGE.D\n"
1286
addi $v0 $0 4 # syscall 4 (print_str)
1297
lwc1 $f0 8($1) # fp_d1
1298
lwc1 $f1 12($1) # fp_d1+4
1299
lwc1 $f2 16($2) # fp_d1p5
1300
lwc1 $f3 20($2) # fp_d1p5+4
1303
lwc1 $f4 0($3) # fp_dm2
1304
lwc1 $f5 4($3) # fp_dm2+4
1306
addu $0 $0 $0 # Nop Delay slot
1307
addu $0 $0 $0 # Nop Delay slot
1309
addu $0 $0 $0 # Nop Delay slot
1311
addu $0 $0 $0 # Nop Delay slot
1313
addu $0 $0 $0 # Nop Delay slot
1314
l280: c.nge.d $f2 $f0
1315
addu $0 $0 $0 # Nop Delay slot
1316
addu $0 $0 $0 # Nop Delay slot
1318
addu $0 $0 $0 # Nop Delay slot
1320
addu $0 $0 $0 # Nop Delay slot
1322
addu $0 $0 $0 # Nop Delay slot
1323
l281: c.nge.d $f0 $f0
1324
addu $0 $0 $0 # Nop Delay slot
1325
addu $0 $0 $0 # Nop Delay slot
1327
addu $0 $0 $0 # Nop Delay slot
1329
addu $0 $0 $0 # Nop Delay slot
1331
addu $0 $0 $0 # Nop Delay slot
1332
l282: c.nge.d $f4 $f0
1333
addu $0 $0 $0 # Nop Delay slot
1334
addu $0 $0 $0 # Nop Delay slot
1336
addu $0 $0 $0 # Nop Delay slot
1338
addu $0 $0 $0 # Nop Delay slot
1340
addu $0 $0 $0 # Nop Delay slot
1345
c.nge.s_: .asciiz "Testing C.NGE.S\n"
1347
addi $v0 $0 4 # syscall 4 (print_str)
1358
lwc1 $f0 4($1) # fp_s1
1359
lwc1 $f2 8($2) # fp_s1p5
1362
lwc1 $f4 0($3) # fp_sm2
1364
addu $0 $0 $0 # Nop Delay slot
1365
addu $0 $0 $0 # Nop Delay slot
1367
addu $0 $0 $0 # Nop Delay slot
1369
addu $0 $0 $0 # Nop Delay slot
1371
addu $0 $0 $0 # Nop Delay slot
1372
l290: c.nge.s $f2 $f0
1373
addu $0 $0 $0 # Nop Delay slot
1374
addu $0 $0 $0 # Nop Delay slot
1376
addu $0 $0 $0 # Nop Delay slot
1378
addu $0 $0 $0 # Nop Delay slot
1380
addu $0 $0 $0 # Nop Delay slot
1381
l291: c.nge.s $f0 $f0
1382
addu $0 $0 $0 # Nop Delay slot
1383
addu $0 $0 $0 # Nop Delay slot
1385
addu $0 $0 $0 # Nop Delay slot
1387
addu $0 $0 $0 # Nop Delay slot
1389
addu $0 $0 $0 # Nop Delay slot
1390
l292: c.nge.s $f4 $f0
1391
addu $0 $0 $0 # Nop Delay slot
1392
addu $0 $0 $0 # Nop Delay slot
1394
addu $0 $0 $0 # Nop Delay slot
1396
addu $0 $0 $0 # Nop Delay slot
1398
addu $0 $0 $0 # Nop Delay slot
1403
c.ngle.d_: .asciiz "Testing C.NGLE.D\n"
1405
addi $v0 $0 4 # syscall 4 (print_str)
1416
lwc1 $f0 8($1) # fp_d1
1417
lwc1 $f1 12($1) # fp_d1+4
1418
lwc1 $f2 8($1) # fp_d1
1419
lwc1 $f3 12($1) # fp_d1+4
1420
lwc1 $f4 16($2) # fp_d1p5
1421
lwc1 $f5 20($2) # fp_d1p5+4
1423
addu $0 $0 $0 # Nop Delay slot
1424
addu $0 $0 $0 # Nop Delay slot
1426
addu $0 $0 $0 # Nop Delay slot
1427
l300: c.ngle.d $f0 $f4
1428
addu $0 $0 $0 # Nop Delay slot
1429
addu $0 $0 $0 # Nop Delay slot
1431
addu $0 $0 $0 # Nop Delay slot
1436
c.ngle.s_: .asciiz "Testing C.NGLE.S\n"
1438
addi $v0 $0 4 # syscall 4 (print_str)
1449
lwc1 $f0 4($1) # fp_s1
1450
lwc1 $f2 4($1) # fp_s1
1451
lwc1 $f4 8($2) # fp_s1p5
1453
addu $0 $0 $0 # Nop Delay slot
1454
addu $0 $0 $0 # Nop Delay slot
1456
addu $0 $0 $0 # Nop Delay slot
1457
l310: c.ngle.s $f0 $f4
1458
addu $0 $0 $0 # Nop Delay slot
1459
addu $0 $0 $0 # Nop Delay slot
1461
addu $0 $0 $0 # Nop Delay slot
1466
c.ngl.d_: .asciiz "Testing C.NGL.D\n"
1468
addi $v0 $0 4 # syscall 4 (print_str)
1479
lwc1 $f0 8($1) # fp_d1
1480
lwc1 $f1 12($1) # Nop
1481
lwc1 $f2 8($1) # fp_d1
1482
lwc1 $f3 12($1) # Nop
1483
lwc1 $f4 16($2) # fp_d1p5
1484
lwc1 $f5 20($2) # fp_d1p5+4
1486
addu $0 $0 $0 # Nop Delay slot
1487
addu $0 $0 $0 # Nop Delay slot
1489
addu $0 $0 $0 # Nop Delay slot
1491
addu $0 $0 $0 # Nop Delay slot
1493
addu $0 $0 $0 # Nop Delay slot
1494
l320: c.ngl.d $f0 $f4
1495
addu $0 $0 $0 # Nop Delay slot
1496
addu $0 $0 $0 # Nop Delay slot
1498
addu $0 $0 $0 # Nop Delay slot
1500
addu $0 $0 $0 # Nop Delay slot
1502
addu $0 $0 $0 # Nop Delay slot
1507
c.ngl.s_: .asciiz "Testing C.NGL.S\n"
1509
addi $v0 $0 4 # syscall 4 (print_str)
1520
lwc1 $f0 4($1) # fp_s1
1521
lwc1 $f2 4($1) # fp_s1
1522
lwc1 $f4 8($2) # fp_s1p5
1524
addu $0 $0 $0 # Nop Delay slot
1525
addu $0 $0 $0 # Nop Delay slot bc1f fail
1527
addu $0 $0 $0 # Nop Delay slot
1529
addu $0 $0 $0 # Nop Delay slot
1530
l330: c.ngl.s $f0 $f4
1531
addu $0 $0 $0 # Nop Delay slot
1532
addu $0 $0 $0 # Nop Delay slot
1534
addu $0 $0 $0 # Nop Delay slot
1536
addu $0 $0 $0 # Nop Delay slot
1538
addu $0 $0 $0 # Nop Delay slot
1543
c.ngt.d_: .asciiz "Testing C.NGT.D\n"
1545
addi $v0 $0 4 # syscall 4 (print_str)
1556
lwc1 $f0 8($1) # fp_d1
1557
lwc1 $f1 12($1) # Nop
1558
lwc1 $f2 16($2) # fp_d1p5
1559
lwc1 $f3 20($2) # fp_d1p5+4
1562
lwc1 $f4 0($3) # fp_dm2
1563
lwc1 $f5 4($3) # Nop
1565
addu $0 $0 $0 # Nop Delay slot
1566
addu $0 $0 $0 # Nop Delay slot
1568
addu $0 $0 $0 # Nop Delay slot
1570
addu $0 $0 $0 # Nop Delay slot
1572
addu $0 $0 $0 # Nop Delay slot
1573
l340: c.ngt.d $f2 $f0
1574
addu $0 $0 $0 # Nop Delay slot
1575
addu $0 $0 $0 # Nop Delay slot
1577
addu $0 $0 $0 # Nop Delay slot
1579
addu $0 $0 $0 # Nop Delay slot
1581
addu $0 $0 $0 # Nop Delay slot
1582
l341: c.ngt.d $f0 $f0
1583
addu $0 $0 $0 # Nop Delay slot
1584
addu $0 $0 $0 # Nop Delay slot
1586
addu $0 $0 $0 # Nop Delay slot
1588
addu $0 $0 $0 # Nop Delay slot
1590
addu $0 $0 $0 # Nop Delay slot
1591
l342: c.ngt.d $f4 $f0
1592
addu $0 $0 $0 # Nop Delay slot
1593
addu $0 $0 $0 # Nop Delay slot
1595
addu $0 $0 $0 # Nop Delay slot
1597
addu $0 $0 $0 # Nop Delay slot
1599
addu $0 $0 $0 # Nop Delay slot
1604
c.ngt.s_: .asciiz "Testing C.NGT.S\n"
1606
addi $v0 $0 4 # syscall 4 (print_str)
1617
lwc1 $f0 4($1) # fp_s1
1618
lwc1 $f2 8($2) # fp_s1p5
1621
lwc1 $f4 0($3) # fp_sm2
1623
addu $0 $0 $0 # Nop Delay slot
1624
addu $0 $0 $0 # Nop Delay slot
1626
addu $0 $0 $0 # Nop Delay slot
1628
addu $0 $0 $0 # Nop Delay slot
1630
addu $0 $0 $0 # Nop Delay slot
1631
l350: c.ngt.s $f2 $f0
1632
addu $0 $0 $0 # Nop Delay slot
1633
addu $0 $0 $0 # Nop Delay slot
1635
addu $0 $0 $0 # Nop Delay slot
1637
addu $0 $0 $0 # Nop Delay slot
1639
addu $0 $0 $0 # Nop Delay slot
1640
l351: c.ngt.s $f0 $f0
1641
addu $0 $0 $0 # Nop Delay slot
1642
addu $0 $0 $0 # Nop Delay slot
1644
addu $0 $0 $0 # Nop Delay slot
1646
addu $0 $0 $0 # Nop Delay slot
1648
addu $0 $0 $0 # Nop Delay slot
1649
l352: c.ngt.s $f4 $f0
1650
addu $0 $0 $0 # Nop Delay slot
1651
addu $0 $0 $0 # Nop Delay slot
1653
addu $0 $0 $0 # Nop Delay slot
1655
addu $0 $0 $0 # Nop Delay slot
1657
addu $0 $0 $0 # Nop Delay slot
1662
c.ole.d_: .asciiz "Testing C.OLE.D\n"
1664
addi $v0 $0 4 # syscall 4 (print_str)
1675
lwc1 $f0 8($1) # fp_d1
1676
lwc1 $f1 12($1) # Nop
1677
lwc1 $f2 16($2) # fp_d1p5
1678
lwc1 $f3 20($2) # fp_d1p5+4
1681
lwc1 $f4 0($3) # fp_dm2
1682
lwc1 $f5 4($3) # Nop
1684
addu $0 $0 $0 # Nop Delay slot
1685
addu $0 $0 $0 # Nop Delay slot
1687
addu $0 $0 $0 # Nop Delay slot
1689
addu $0 $0 $0 # Nop Delay slot
1691
addu $0 $0 $0 # Nop Delay slot
1692
l360: c.ole.d $f2 $f0
1693
addu $0 $0 $0 # Nop Delay slot
1694
addu $0 $0 $0 # Nop Delay slot
1696
addu $0 $0 $0 # Nop Delay slot
1698
addu $0 $0 $0 # Nop Delay slot
1700
addu $0 $0 $0 # Nop Delay slot
1701
l361: c.ole.d $f0 $f0
1702
addu $0 $0 $0 # Nop Delay slot
1703
addu $0 $0 $0 # Nop Delay slot
1705
addu $0 $0 $0 # Nop Delay slot
1707
addu $0 $0 $0 # Nop Delay slot
1709
addu $0 $0 $0 # Nop Delay slot
1710
l362: c.ole.d $f4 $f0
1711
addu $0 $0 $0 # Nop Delay slot
1712
addu $0 $0 $0 # Nop Delay slot
1714
addu $0 $0 $0 # Nop Delay slot
1716
addu $0 $0 $0 # Nop Delay slot
1718
addu $0 $0 $0 # Nop Delay slot
1723
c.ole.s_: .asciiz "Testing C.OLE.S\n"
1725
addi $v0 $0 4 # syscall 4 (print_str)
1736
lwc1 $f0 4($1) # fp_s1
1737
lwc1 $f2 8($2) # fp_s1p5
1740
lwc1 $f4 0($3) # fp_sm2
1742
addu $0 $0 $0 # Nop Delay slot
1743
addu $0 $0 $0 # Nop Delay slot
1745
addu $0 $0 $0 # Nop Delay slot
1747
addu $0 $0 $0 # Nop Delay slot
1749
addu $0 $0 $0 # Nop Delay slot
1750
l370: c.ole.s $f2 $f0
1751
addu $0 $0 $0 # Nop Delay slot
1752
addu $0 $0 $0 # Nop Delay slot
1754
addu $0 $0 $0 # Nop Delay slot
1756
addu $0 $0 $0 # Nop Delay slot
1758
addu $0 $0 $0 # Nop Delay slot
1759
l371: c.ole.s $f0 $f0
1760
addu $0 $0 $0 # Nop Delay slot
1761
addu $0 $0 $0 # Nop Delay slot
1763
addu $0 $0 $0 # Nop Delay slot
1765
addu $0 $0 $0 # Nop Delay slot
1767
addu $0 $0 $0 # Nop Delay slot
1768
l372: c.ole.s $f4 $f0
1769
addu $0 $0 $0 # Nop Delay slot
1770
addu $0 $0 $0 # Nop Delay slot
1772
addu $0 $0 $0 # Nop Delay slot
1774
addu $0 $0 $0 # Nop Delay slot
1776
addu $0 $0 $0 # Nop Delay slot
1781
c.seq.d_: .asciiz "Testing C.SEQ.D\n"
1783
addi $v0 $0 4 # syscall 4 (print_str)
1794
lwc1 $f0 8($1) # fp_d1
1795
lwc1 $f1 12($1) # Nop
1796
lwc1 $f2 8($1) # fp_d1
1797
lwc1 $f3 12($1) # Nop
1798
lwc1 $f4 16($2) # fp_d1p5
1799
lwc1 $f5 20($2) # fp_d1p5+4
1801
addu $0 $0 $0 # Nop Delay slot
1802
addu $0 $0 $0 # Nop Delay slot
1804
addu $0 $0 $0 # Nop Delay slot
1806
addu $0 $0 $0 # Nop Delay slot
1808
addu $0 $0 $0 # Nop Delay slot
1809
l380: c.seq.d $f0 $f4
1810
addu $0 $0 $0 # Nop Delay slot
1811
addu $0 $0 $0 # Nop Delay slot
1813
addu $0 $0 $0 # Nop Delay slot
1815
addu $0 $0 $0 # Nop Delay slot
1817
addu $0 $0 $0 # Nop Delay slot
1822
c.seq.s_: .asciiz "Testing C.SEQ.S\n"
1824
addi $v0 $0 4 # syscall 4 (print_str)
1835
lwc1 $f0 4($1) # fp_s1
1836
lwc1 $f2 4($1) # fp_s1
1837
lwc1 $f4 8($2) # fp_s1p5
1839
addu $0 $0 $0 # Nop Delay slot
1840
addu $0 $0 $0 # Nop Delay slot
1842
addu $0 $0 $0 # Nop Delay slot
1844
addu $0 $0 $0 # Nop Delay slot
1846
addu $0 $0 $0 # Nop Delay slot
1847
l390: c.seq.s $f0 $f4
1848
addu $0 $0 $0 # Nop Delay slot
1849
addu $0 $0 $0 # Nop Delay slot
1851
addu $0 $0 $0 # Nop Delay slot
1853
addu $0 $0 $0 # Nop Delay slot
1855
addu $0 $0 $0 # Nop Delay slot
1860
c.sf.d_: .asciiz "Testing C.SF.D\n"
1862
addi $v0 $0 4 # syscall 4 (print_str)
1873
lwc1 $f0 8($1) # fp_d1
1874
lwc1 $f1 12($1) # Nop
1875
lwc1 $f2 8($1) # fp_d1
1876
lwc1 $f3 12($1) # Nop
1877
lwc1 $f4 16($2) # fp_d1p5
1878
lwc1 $f5 20($2) # fp_d1p5+4
1880
addu $0 $0 $0 # Nop Delay slot
1881
addu $0 $0 $0 # Nop Delay slot
1883
addu $0 $0 $0 # Nop Delay slot
1884
l400: c.sf.d $f0 $f4
1885
addu $0 $0 $0 # Nop Delay slot
1886
addu $0 $0 $0 # Nop Delay slot
1888
addu $0 $0 $0 # Nop Delay slot
1893
c.sf.s_: .asciiz "Testing C.SF.S\n"
1895
addi $v0 $0 4 # syscall 4 (print_str)
1906
lwc1 $f0 4($1) # fp_s1
1907
lwc1 $f2 4($1) # fp_s1
1908
lwc1 $f4 8($2) # fp_s1p5
1910
addu $0 $0 $0 # Nop Delay slot
1911
addu $0 $0 $0 # Nop Delay slot
1913
addu $0 $0 $0 # Nop Delay slot
1914
l410: c.sf.s $f0 $f4
1915
addu $0 $0 $0 # Nop Delay slot
1916
addu $0 $0 $0 # Nop Delay slot
1918
addu $0 $0 $0 # Nop Delay slot
1923
c.ueq.d_: .asciiz "Testing C.UEQ.D\n"
1925
addi $v0 $0 4 # syscall 4 (print_str)
1936
lwc1 $f0 8($1) # fp_d1
1937
lwc1 $f1 12($1) # Nop
1938
lwc1 $f2 8($1) # fp_d1
1939
lwc1 $f3 12($1) # Nop
1940
lwc1 $f4 16($2) # fp_d1p5
1941
lwc1 $f5 20($2) # fp_d1p5+4
1943
addu $0 $0 $0 # Nop Delay slot
1944
addu $0 $0 $0 # Nop Delay slot
1946
addu $0 $0 $0 # Nop Delay slot
1948
addu $0 $0 $0 # Nop Delay slot
1950
addu $0 $0 $0 # Nop Delay slot
1951
l420: c.ueq.d $f0 $f4
1952
addu $0 $0 $0 # Nop Delay slot
1953
addu $0 $0 $0 # Nop Delay slot
1955
addu $0 $0 $0 # Nop Delay slot
1957
addu $0 $0 $0 # Nop Delay slot
1959
addu $0 $0 $0 # Nop Delay slot
1964
c.ueq.s_: .asciiz "Testing C.UEQ.S\n"
1966
addi $v0 $0 4 # syscall 4 (print_str)
1977
lwc1 $f0 4($1) # fp_s1
1978
lwc1 $f2 4($1) # fp_s1
1979
lwc1 $f4 8($2) # fp_s1p5
1981
addu $0 $0 $0 # Nop Delay slot
1982
addu $0 $0 $0 # Nop Delay slot
1984
addu $0 $0 $0 # Nop Delay slot
1986
addu $0 $0 $0 # Nop Delay slot
1988
addu $0 $0 $0 # Nop Delay slot
1989
l430: c.ueq.s $f0 $f4
1990
addu $0 $0 $0 # Nop Delay slot
1991
addu $0 $0 $0 # Nop Delay slot
1993
addu $0 $0 $0 # Nop Delay slot
1995
addu $0 $0 $0 # Nop Delay slot
1997
addu $0 $0 $0 # Nop Delay slot
2002
c.ule.d_: .asciiz "Testing C.ULE.D\n"
2004
addi $v0 $0 4 # syscall 4 (print_str)
2015
lwc1 $f0 8($1) # fp_d1
2016
lwc1 $f1 12($1) # Nop
2017
lwc1 $f2 16($2) # fp_d1p5
2018
lwc1 $f3 20($2) # fp_d1p5+4
2021
lwc1 $f4 0($3) # fp_dm2
2022
lwc1 $f5 4($3) # Nop
2024
addu $0 $0 $0 # Nop Delay slot
2025
addu $0 $0 $0 # Nop Delay slot
2027
addu $0 $0 $0 # Nop Delay slot
2029
addu $0 $0 $0 # Nop Delay slot
2031
addu $0 $0 $0 # Nop Delay slot
2032
l440: c.ule.d $f2 $f0
2033
addu $0 $0 $0 # Nop Delay slot
2034
addu $0 $0 $0 # Nop Delay slot
2036
addu $0 $0 $0 # Nop Delay slot
2038
addu $0 $0 $0 # Nop Delay slot
2040
addu $0 $0 $0 # Nop Delay slot
2041
l441: c.ule.d $f0 $f0
2042
addu $0 $0 $0 # Nop Delay slot
2043
addu $0 $0 $0 # Nop Delay slot
2045
addu $0 $0 $0 # Nop Delay slot
2047
addu $0 $0 $0 # Nop Delay slot
2049
addu $0 $0 $0 # Nop Delay slot
2050
l442: c.ule.d $f4 $f0
2051
addu $0 $0 $0 # Nop Delay slot
2052
addu $0 $0 $0 # Nop Delay slot
2054
addu $0 $0 $0 # Nop Delay slot
2056
addu $0 $0 $0 # Nop Delay slot
2058
addu $0 $0 $0 # Nop Delay slot
2063
c.ule.s_: .asciiz "Testing C.ULE.S\n"
2065
addi $v0 $0 4 # syscall 4 (print_str)
2076
lwc1 $f0 4($1) # fp_s1
2077
lwc1 $f2 8($2) # fp_s1p5
2080
lwc1 $f4 0($3) # fp_sm2
2082
addu $0 $0 $0 # Nop Delay slot
2083
addu $0 $0 $0 # Nop Delay slot
2085
addu $0 $0 $0 # Nop Delay slot
2087
addu $0 $0 $0 # Nop Delay slot
2089
addu $0 $0 $0 # Nop Delay slot
2090
l450: c.ule.s $f2 $f0
2091
addu $0 $0 $0 # Nop Delay slot
2092
addu $0 $0 $0 # Nop Delay slot
2094
addu $0 $0 $0 # Nop Delay slot
2096
addu $0 $0 $0 # Nop Delay slot
2098
addu $0 $0 $0 # Nop Delay slot
2099
l451: c.ule.s $f0 $f0
2100
addu $0 $0 $0 # Nop Delay slot
2101
addu $0 $0 $0 # Nop Delay slot
2103
addu $0 $0 $0 # Nop Delay slot
2105
addu $0 $0 $0 # Nop Delay slot
2107
addu $0 $0 $0 # Nop Delay slot
2108
l452: c.ule.s $f4 $f0
2109
addu $0 $0 $0 # Nop Delay slot
2110
addu $0 $0 $0 # Nop Delay slot
2112
addu $0 $0 $0 # Nop Delay slot
2114
addu $0 $0 $0 # Nop Delay slot
2116
addu $0 $0 $0 # Nop Delay slot
2121
c.un.d_: .asciiz "Testing C.UN.D\n"
2123
addi $v0 $0 4 # syscall 4 (print_str)
2134
lwc1 $f0 8($1) # fp_d1
2135
lwc1 $f1 12($1) # Nop
2136
lwc1 $f2 8($1) # fp_d1
2137
lwc1 $f3 12($1) # Nop
2138
lwc1 $f4 16($2) # fp_d1p5
2139
lwc1 $f5 20($2) # fp_d1p5+4
2141
addu $0 $0 $0 # Nop Delay slot
2142
addu $0 $0 $0 # Nop Delay slot
2144
addu $0 $0 $0 # Nop Delay slot
2146
addu $0 $0 $0 # Nop Delay slot
2148
addu $0 $0 $0 # Nop Delay slot
2149
l460: c.un.d $f0 $f4
2150
addu $0 $0 $0 # Nop Delay slot
2151
addu $0 $0 $0 # Nop Delay slot
2153
addu $0 $0 $0 # Nop Delay slot
2155
addu $0 $0 $0 # Nop Delay slot
2157
addu $0 $0 $0 # Nop Delay slot
2162
c.un.s_: .asciiz "Testing C.UN.S\n"
2164
addi $v0 $0 4 # syscall 4 (print_str)
2175
lwc1 $f0 4($1) # fp_s1
2176
lwc1 $f2 4($1) # fp_s1
2177
lwc1 $f4 8($2) # fp_s1p5
2179
addu $0 $0 $0 # Nop Delay slot
2180
addu $0 $0 $0 # Nop Delay slot
2182
addu $0 $0 $0 # Nop Delay slot
2184
addu $0 $0 $0 # Nop Delay slot
2186
addu $0 $0 $0 # Nop Delay slot
2187
l470: c.un.s $f0 $f4
2188
addu $0 $0 $0 # Nop Delay slot
2189
addu $0 $0 $0 # Nop Delay slot
2191
addu $0 $0 $0 # Nop Delay slot
2193
addu $0 $0 $0 # Nop Delay slot
2195
addu $0 $0 $0 # Nop Delay slot
2202
addi $2 $0 4 # syscall 4 (print_str)
2210
jr $31 # Return from main
2216
#fm: .asciiz "Failed test\n"
2218
fail: addi $2 $0 4 # syscall 4 (print_str)
2223
addi $2 $0 10 # syscall 10 (exit)