aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2015-07-05 16:57:07 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2015-07-05 16:57:07 -0700
commit94e0a82bde96bc203bd854efa8ba06c49d16fe75 (patch)
tree077d7a789850d8a948c17bed78c1f5f770f9f396
parentd6f8add254375a8005794320ed66d40a58f43dac (diff)
downloadriscv-tests-94e0a82bde96bc203bd854efa8ba06c49d16fe75.zip
riscv-tests-94e0a82bde96bc203bd854efa8ba06c49d16fe75.tar.gz
riscv-tests-94e0a82bde96bc203bd854efa8ba06c49d16fe75.tar.bz2
New M-mode timers
m---------env10
-rw-r--r--isa/rv32mi/timer.S7
-rw-r--r--isa/rv32si/Makefrag1
-rw-r--r--isa/rv32si/timer.S7
-rw-r--r--isa/rv64mi/timer.S1098
-rw-r--r--isa/rv64si/Makefrag1
-rw-r--r--isa/rv64si/timer.S1126
7 files changed, 1102 insertions, 1148 deletions
diff --git a/env b/env
-Subproject c60e1a9e2f48f8c011a4967247a7618d42c5346
+Subproject 4f3e3a8d62cc88040846436b9c505045f7303d8
diff --git a/isa/rv32mi/timer.S b/isa/rv32mi/timer.S
index 58dac99..307876c 100644
--- a/isa/rv32mi/timer.S
+++ b/isa/rv32mi/timer.S
@@ -1,8 +1,7 @@
# See LICENSE for license details.
#include "riscv_test.h"
-#undef RVTEST_RV64S
-#define RVTEST_RV64S RVTEST_RV32M
-#define __MACHINE_MODE
+#undef RVTEST_RV64M
+#define RVTEST_RV64M RVTEST_RV32M
-#include "../rv64si/timer.S"
+#include "../rv64mi/timer.S"
diff --git a/isa/rv32si/Makefrag b/isa/rv32si/Makefrag
index 4d8f33e..1283ec4 100644
--- a/isa/rv32si/Makefrag
+++ b/isa/rv32si/Makefrag
@@ -10,7 +10,6 @@ rv32si_sc_tests = \
scall \
sbreak \
ma_addr \
- timer \
rv32si_p_tests = $(addprefix rv32si-p-, $(rv32si_sc_tests))
diff --git a/isa/rv32si/timer.S b/isa/rv32si/timer.S
deleted file mode 100644
index a6847aa..0000000
--- a/isa/rv32si/timer.S
+++ /dev/null
@@ -1,7 +0,0 @@
-# See LICENSE for license details.
-
-#include "riscv_test.h"
-#undef RVTEST_RV64S
-#define RVTEST_RV64S RVTEST_RV32S
-
-#include "../rv64si/timer.S"
diff --git a/isa/rv64mi/timer.S b/isa/rv64mi/timer.S
index f491530..f3350fc 100644
--- a/isa/rv64mi/timer.S
+++ b/isa/rv64mi/timer.S
@@ -1,8 +1,1098 @@
# See LICENSE for license details.
+#*****************************************************************************
+# timer.S
+#-----------------------------------------------------------------------------
+#
+# Test timer interrupts.
+#
+
#include "riscv_test.h"
-#undef RVTEST_RV64S
-#define RVTEST_RV64S RVTEST_RV64M
-#define __MACHINE_MODE
+#include "test_macros.h"
+
+RVTEST_RV64M
+RVTEST_CODE_BEGIN
+
+#define DELTA_T 5
+
+ li s8, 0 # number of taken timer interrupts
+ li s9, 10 # how many interrupts to run for
+
+ .align 4
+ csrr a0, mtime
+ add a0, a0, DELTA_T
+ csrw mtimecmp, a0
+ li a0, MIP_MTIP
+ csrs mie, a0
+ csrs mstatus, MSTATUS_IE
+
+ # advance an LFSR until the timer has fired enough times
+ li s0, 1023
+ li s4, 0
+1:srl s2,s0,3
+ xor s2,s2,s0
+ and s2,s2,1
+ srl s0,s0,1
+ sll s2,s2,9
+ or s0,s2,s0
+ and s0, s0, 0x3FF
+ add s4, s4, 1
+ bltu s8, s9, 1b
+
+ # make sure the LFSR was computed correctly
+ li s1, 1023
+ remu s4, s4, s1
+ la s1, lfsr
+ sll s4, s4, 2
+ add s1, s1, s4
+ lw s1, (s1)
+ li TESTNUM, 2
+ bne s0, s1, fail
+
+ RVTEST_PASS
+
+ TEST_PASSFAIL
+
+mtvec_handler:
+ li TESTNUM, 3
+ csrr t0, mcause
+ bgez t0, fail
+
+ sll t0, t0, 1
+ addi t0, t0, -2*IRQ_TIMER
+ bnez t0, fail
+
+ csrr t0, mtime
+ addi t0, t0, DELTA_T
+ csrw mtimecmp, t0
+
+ add s8, s8, 1
+ eret
+
+.data
+lfsr:
+.word 1023
+.word 511
+.word 255
+.word 127
+.word 63
+.word 31
+.word 15
+.word 7
+.word 515
+.word 769
+.word 896
+.word 448
+.word 224
+.word 112
+.word 56
+.word 540
+.word 782
+.word 903
+.word 963
+.word 993
+.word 1008
+.word 504
+.word 764
+.word 894
+.word 959
+.word 479
+.word 239
+.word 119
+.word 571
+.word 285
+.word 142
+.word 583
+.word 803
+.word 913
+.word 968
+.word 996
+.word 498
+.word 249
+.word 124
+.word 574
+.word 799
+.word 399
+.word 199
+.word 611
+.word 817
+.word 920
+.word 972
+.word 998
+.word 499
+.word 761
+.word 380
+.word 702
+.word 863
+.word 431
+.word 215
+.word 619
+.word 309
+.word 666
+.word 845
+.word 422
+.word 211
+.word 617
+.word 308
+.word 154
+.word 589
+.word 294
+.word 147
+.word 585
+.word 292
+.word 146
+.word 73
+.word 36
+.word 18
+.word 9
+.word 4
+.word 2
+.word 1
+.word 512
+.word 256
+.word 128
+.word 64
+.word 32
+.word 16
+.word 8
+.word 516
+.word 258
+.word 129
+.word 576
+.word 288
+.word 144
+.word 72
+.word 548
+.word 274
+.word 137
+.word 68
+.word 34
+.word 17
+.word 520
+.word 772
+.word 386
+.word 193
+.word 608
+.word 304
+.word 152
+.word 588
+.word 806
+.word 403
+.word 713
+.word 356
+.word 178
+.word 89
+.word 44
+.word 534
+.word 267
+.word 133
+.word 578
+.word 289
+.word 656
+.word 328
+.word 676
+.word 338
+.word 169
+.word 84
+.word 42
+.word 533
+.word 778
+.word 901
+.word 962
+.word 481
+.word 752
+.word 376
+.word 700
+.word 862
+.word 943
+.word 471
+.word 747
+.word 373
+.word 698
+.word 861
+.word 430
+.word 727
+.word 875
+.word 437
+.word 730
+.word 877
+.word 438
+.word 219
+.word 109
+.word 54
+.word 27
+.word 13
+.word 6
+.word 3
+.word 513
+.word 768
+.word 384
+.word 192
+.word 96
+.word 48
+.word 24
+.word 524
+.word 774
+.word 387
+.word 705
+.word 864
+.word 432
+.word 216
+.word 620
+.word 822
+.word 411
+.word 205
+.word 102
+.word 51
+.word 537
+.word 268
+.word 646
+.word 323
+.word 673
+.word 848
+.word 424
+.word 724
+.word 362
+.word 693
+.word 858
+.word 941
+.word 470
+.word 235
+.word 117
+.word 570
+.word 797
+.word 398
+.word 711
+.word 867
+.word 945
+.word 984
+.word 1004
+.word 1014
+.word 507
+.word 253
+.word 126
+.word 575
+.word 287
+.word 143
+.word 71
+.word 547
+.word 785
+.word 904
+.word 964
+.word 482
+.word 241
+.word 632
+.word 828
+.word 926
+.word 975
+.word 487
+.word 755
+.word 889
+.word 444
+.word 734
+.word 879
+.word 439
+.word 731
+.word 365
+.word 182
+.word 91
+.word 45
+.word 22
+.word 11
+.word 5
+.word 514
+.word 257
+.word 640
+.word 320
+.word 160
+.word 80
+.word 40
+.word 532
+.word 266
+.word 645
+.word 834
+.word 417
+.word 720
+.word 360
+.word 692
+.word 346
+.word 685
+.word 342
+.word 171
+.word 85
+.word 554
+.word 789
+.word 906
+.word 965
+.word 994
+.word 497
+.word 760
+.word 892
+.word 958
+.word 991
+.word 495
+.word 247
+.word 635
+.word 317
+.word 158
+.word 591
+.word 295
+.word 659
+.word 841
+.word 420
+.word 210
+.word 105
+.word 52
+.word 26
+.word 525
+.word 262
+.word 131
+.word 577
+.word 800
+.word 400
+.word 200
+.word 612
+.word 306
+.word 153
+.word 76
+.word 550
+.word 275
+.word 649
+.word 324
+.word 162
+.word 81
+.word 552
+.word 788
+.word 394
+.word 709
+.word 866
+.word 433
+.word 728
+.word 876
+.word 950
+.word 475
+.word 237
+.word 118
+.word 59
+.word 29
+.word 14
+.word 519
+.word 771
+.word 897
+.word 960
+.word 480
+.word 240
+.word 120
+.word 572
+.word 798
+.word 911
+.word 455
+.word 739
+.word 881
+.word 952
+.word 988
+.word 1006
+.word 1015
+.word 1019
+.word 509
+.word 254
+.word 639
+.word 319
+.word 159
+.word 79
+.word 39
+.word 531
+.word 777
+.word 388
+.word 194
+.word 97
+.word 560
+.word 280
+.word 652
+.word 838
+.word 419
+.word 721
+.word 872
+.word 948
+.word 474
+.word 749
+.word 374
+.word 187
+.word 93
+.word 46
+.word 535
+.word 779
+.word 389
+.word 706
+.word 353
+.word 688
+.word 344
+.word 684
+.word 854
+.word 427
+.word 213
+.word 618
+.word 821
+.word 922
+.word 973
+.word 486
+.word 243
+.word 633
+.word 316
+.word 670
+.word 847
+.word 423
+.word 723
+.word 873
+.word 436
+.word 218
+.word 621
+.word 310
+.word 155
+.word 77
+.word 38
+.word 19
+.word 521
+.word 260
+.word 130
+.word 65
+.word 544
+.word 272
+.word 136
+.word 580
+.word 290
+.word 145
+.word 584
+.word 804
+.word 402
+.word 201
+.word 100
+.word 50
+.word 25
+.word 12
+.word 518
+.word 259
+.word 641
+.word 832
+.word 416
+.word 208
+.word 104
+.word 564
+.word 282
+.word 653
+.word 326
+.word 163
+.word 593
+.word 808
+.word 916
+.word 458
+.word 741
+.word 882
+.word 441
+.word 220
+.word 622
+.word 823
+.word 923
+.word 461
+.word 230
+.word 115
+.word 569
+.word 284
+.word 654
+.word 839
+.word 931
+.word 977
+.word 1000
+.word 1012
+.word 506
+.word 765
+.word 382
+.word 703
+.word 351
+.word 175
+.word 87
+.word 555
+.word 277
+.word 650
+.word 837
+.word 930
+.word 465
+.word 744
+.word 884
+.word 442
+.word 733
+.word 366
+.word 695
+.word 859
+.word 429
+.word 214
+.word 107
+.word 53
+.word 538
+.word 781
+.word 390
+.word 195
+.word 609
+.word 816
+.word 408
+.word 716
+.word 870
+.word 435
+.word 729
+.word 364
+.word 694
+.word 347
+.word 173
+.word 86
+.word 43
+.word 21
+.word 522
+.word 773
+.word 898
+.word 449
+.word 736
+.word 368
+.word 184
+.word 604
+.word 814
+.word 919
+.word 971
+.word 485
+.word 754
+.word 377
+.word 188
+.word 606
+.word 815
+.word 407
+.word 715
+.word 357
+.word 690
+.word 345
+.word 172
+.word 598
+.word 299
+.word 149
+.word 586
+.word 805
+.word 914
+.word 457
+.word 228
+.word 114
+.word 57
+.word 28
+.word 526
+.word 775
+.word 899
+.word 961
+.word 992
+.word 496
+.word 248
+.word 636
+.word 830
+.word 927
+.word 463
+.word 231
+.word 627
+.word 825
+.word 412
+.word 718
+.word 871
+.word 947
+.word 985
+.word 492
+.word 758
+.word 379
+.word 189
+.word 94
+.word 559
+.word 279
+.word 651
+.word 325
+.word 674
+.word 337
+.word 680
+.word 852
+.word 426
+.word 725
+.word 874
+.word 949
+.word 986
+.word 1005
+.word 502
+.word 251
+.word 125
+.word 62
+.word 543
+.word 271
+.word 135
+.word 579
+.word 801
+.word 912
+.word 456
+.word 740
+.word 370
+.word 185
+.word 92
+.word 558
+.word 791
+.word 907
+.word 453
+.word 738
+.word 369
+.word 696
+.word 860
+.word 942
+.word 983
+.word 1003
+.word 501
+.word 762
+.word 893
+.word 446
+.word 735
+.word 367
+.word 183
+.word 603
+.word 301
+.word 150
+.word 75
+.word 37
+.word 530
+.word 265
+.word 132
+.word 66
+.word 33
+.word 528
+.word 264
+.word 644
+.word 322
+.word 161
+.word 592
+.word 296
+.word 660
+.word 330
+.word 677
+.word 850
+.word 425
+.word 212
+.word 106
+.word 565
+.word 794
+.word 909
+.word 454
+.word 227
+.word 625
+.word 824
+.word 924
+.word 974
+.word 999
+.word 1011
+.word 1017
+.word 508
+.word 766
+.word 895
+.word 447
+.word 223
+.word 111
+.word 55
+.word 539
+.word 269
+.word 134
+.word 67
+.word 545
+.word 784
+.word 392
+.word 708
+.word 354
+.word 177
+.word 600
+.word 812
+.word 918
+.word 459
+.word 229
+.word 626
+.word 313
+.word 156
+.word 590
+.word 807
+.word 915
+.word 969
+.word 484
+.word 242
+.word 121
+.word 60
+.word 542
+.word 783
+.word 391
+.word 707
+.word 865
+.word 944
+.word 472
+.word 748
+.word 886
+.word 443
+.word 221
+.word 110
+.word 567
+.word 795
+.word 397
+.word 198
+.word 99
+.word 561
+.word 792
+.word 908
+.word 966
+.word 483
+.word 753
+.word 888
+.word 956
+.word 990
+.word 1007
+.word 503
+.word 763
+.word 381
+.word 190
+.word 607
+.word 303
+.word 151
+.word 587
+.word 293
+.word 658
+.word 329
+.word 164
+.word 82
+.word 41
+.word 20
+.word 10
+.word 517
+.word 770
+.word 385
+.word 704
+.word 352
+.word 176
+.word 88
+.word 556
+.word 790
+.word 395
+.word 197
+.word 610
+.word 305
+.word 664
+.word 844
+.word 934
+.word 467
+.word 745
+.word 372
+.word 186
+.word 605
+.word 302
+.word 663
+.word 843
+.word 421
+.word 722
+.word 361
+.word 180
+.word 90
+.word 557
+.word 278
+.word 139
+.word 69
+.word 546
+.word 273
+.word 648
+.word 836
+.word 418
+.word 209
+.word 616
+.word 820
+.word 410
+.word 717
+.word 358
+.word 179
+.word 601
+.word 300
+.word 662
+.word 331
+.word 165
+.word 594
+.word 297
+.word 148
+.word 74
+.word 549
+.word 786
+.word 393
+.word 196
+.word 98
+.word 49
+.word 536
+.word 780
+.word 902
+.word 451
+.word 737
+.word 880
+.word 440
+.word 732
+.word 878
+.word 951
+.word 987
+.word 493
+.word 246
+.word 123
+.word 61
+.word 30
+.word 527
+.word 263
+.word 643
+.word 833
+.word 928
+.word 464
+.word 232
+.word 628
+.word 314
+.word 669
+.word 334
+.word 679
+.word 851
+.word 937
+.word 468
+.word 234
+.word 629
+.word 826
+.word 925
+.word 462
+.word 743
+.word 883
+.word 953
+.word 476
+.word 750
+.word 887
+.word 955
+.word 477
+.word 238
+.word 631
+.word 827
+.word 413
+.word 206
+.word 615
+.word 819
+.word 921
+.word 460
+.word 742
+.word 371
+.word 697
+.word 348
+.word 686
+.word 855
+.word 939
+.word 469
+.word 746
+.word 885
+.word 954
+.word 989
+.word 494
+.word 759
+.word 891
+.word 445
+.word 222
+.word 623
+.word 311
+.word 667
+.word 333
+.word 166
+.word 83
+.word 553
+.word 276
+.word 138
+.word 581
+.word 802
+.word 401
+.word 712
+.word 868
+.word 434
+.word 217
+.word 108
+.word 566
+.word 283
+.word 141
+.word 70
+.word 35
+.word 529
+.word 776
+.word 900
+.word 450
+.word 225
+.word 624
+.word 312
+.word 668
+.word 846
+.word 935
+.word 979
+.word 1001
+.word 500
+.word 250
+.word 637
+.word 318
+.word 671
+.word 335
+.word 167
+.word 595
+.word 809
+.word 404
+.word 202
+.word 613
+.word 818
+.word 409
+.word 204
+.word 614
+.word 307
+.word 665
+.word 332
+.word 678
+.word 339
+.word 681
+.word 340
+.word 170
+.word 597
+.word 810
+.word 917
+.word 970
+.word 997
+.word 1010
+.word 505
+.word 252
+.word 638
+.word 831
+.word 415
+.word 207
+.word 103
+.word 563
+.word 793
+.word 396
+.word 710
+.word 355
+.word 689
+.word 856
+.word 940
+.word 982
+.word 491
+.word 245
+.word 634
+.word 829
+.word 414
+.word 719
+.word 359
+.word 691
+.word 857
+.word 428
+.word 726
+.word 363
+.word 181
+.word 602
+.word 813
+.word 406
+.word 203
+.word 101
+.word 562
+.word 281
+.word 140
+.word 582
+.word 291
+.word 657
+.word 840
+.word 932
+.word 466
+.word 233
+.word 116
+.word 58
+.word 541
+.word 270
+.word 647
+.word 835
+.word 929
+.word 976
+.word 488
+.word 756
+.word 378
+.word 701
+.word 350
+.word 687
+.word 343
+.word 683
+.word 341
+.word 682
+.word 853
+.word 938
+.word 981
+.word 1002
+.word 1013
+.word 1018
+.word 1021
+.word 510
+.word 767
+.word 383
+.word 191
+.word 95
+.word 47
+.word 23
+.word 523
+.word 261
+.word 642
+.word 321
+.word 672
+.word 336
+.word 168
+.word 596
+.word 298
+.word 661
+.word 842
+.word 933
+.word 978
+.word 489
+.word 244
+.word 122
+.word 573
+.word 286
+.word 655
+.word 327
+.word 675
+.word 849
+.word 936
+.word 980
+.word 490
+.word 757
+.word 890
+.word 957
+.word 478
+.word 751
+.word 375
+.word 699
+.word 349
+.word 174
+.word 599
+.word 811
+.word 405
+.word 714
+.word 869
+.word 946
+.word 473
+.word 236
+.word 630
+.word 315
+.word 157
+.word 78
+.word 551
+.word 787
+.word 905
+.word 452
+.word 226
+.word 113
+.word 568
+.word 796
+.word 910
+.word 967
+.word 995
+.word 1009
+.word 1016
+.word 1020
+.word 1022
-#include "../rv64si/timer.S"
+RVTEST_CODE_END
diff --git a/isa/rv64si/Makefrag b/isa/rv64si/Makefrag
index 17596c3..9c5db64 100644
--- a/isa/rv64si/Makefrag
+++ b/isa/rv64si/Makefrag
@@ -10,7 +10,6 @@ rv64si_sc_tests = \
scall \
wfi \
sbreak \
- timer \
rv64si_p_tests = $(addprefix rv64si-p-, $(rv64si_sc_tests))
diff --git a/isa/rv64si/timer.S b/isa/rv64si/timer.S
deleted file mode 100644
index 9909d41..0000000
--- a/isa/rv64si/timer.S
+++ /dev/null
@@ -1,1126 +0,0 @@
-# See LICENSE for license details.
-
-#*****************************************************************************
-# timer.S
-#-----------------------------------------------------------------------------
-#
-# Test timer interrupts.
-#
-
-#include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV64S
-RVTEST_CODE_BEGIN
-
-#ifdef __MACHINE_MODE
- #define sscratch mscratch
- #define sstatus mstatus
- #define sie mie
- #define scause mcause
- #define sepc mepc
- #define stvec_handler mtvec_handler
- #undef SSTATUS_PS
- #define SSTATUS_PS MSTATUS_PRV1
- #undef SIP_STIP
- #define SIP_STIP MIP_STIP
-#endif
-
-#define DELTA_T 999
-
- li s8, 0 # number of taken timer interrupts
- li s9, 10 # how many interrupts to run for
-
- .align 4
- csrr a0, stime
- add a0, a0, DELTA_T
- csrw stimecmp, a0
- li a0, SIP_STIP
- csrs sie, a0
- csrs sstatus, SSTATUS_IE
-
- # jump to user land
- li t0, SSTATUS_PS
- csrc sstatus, t0
- la t0, 1f
- csrw sepc, t0
- sret
- 1:
-
- # advance an LFSR 1000 times
- li s0, 1023
- li s4, 0
-1:srl s2,s0,3
- xor s2,s2,s0
- and s2,s2,1
- srl s0,s0,1
- sll s2,s2,9
- or s0,s2,s0
- and s0, s0, 0x3FF
- add s4, s4, 1
- bltu s8, s9, 1b
-
- # make sure the LFSR was computed correctly
- li s1, 1023
- remu s4, s4, s1
- la s1, lfsr
- sll s4, s4, 2
- add s1, s1, s4
- lw s1, (s1)
- li TESTNUM, 2
- bne s0, s1, fail
-
- RVTEST_PASS
-
- TEST_PASSFAIL
-
-stvec_handler:
- li TESTNUM, 3
- csrr t0, scause
- bgez t0, fail
-
- sll t0, t0, 1
- addi t0, t0, -2*IRQ_TIMER
- bnez t0, fail
-
- csrr t0, stime
- addi t0, t0, DELTA_T
- csrw stimecmp, t0
-
- add s8, s8, 1
- bltu s8, s9, stvec_return
-
- li t0, SSTATUS_PS
- csrs sstatus, t0
- csrc sstatus, SSTATUS_IE
-
-stvec_return:
- sret
-
-.data
-lfsr:
-.word 1023
-.word 511
-.word 255
-.word 127
-.word 63
-.word 31
-.word 15
-.word 7
-.word 515
-.word 769
-.word 896
-.word 448
-.word 224
-.word 112
-.word 56
-.word 540
-.word 782
-.word 903
-.word 963
-.word 993
-.word 1008
-.word 504
-.word 764
-.word 894
-.word 959
-.word 479
-.word 239
-.word 119
-.word 571
-.word 285
-.word 142
-.word 583
-.word 803
-.word 913
-.word 968
-.word 996
-.word 498
-.word 249
-.word 124
-.word 574
-.word 799
-.word 399
-.word 199
-.word 611
-.word 817
-.word 920
-.word 972
-.word 998
-.word 499
-.word 761
-.word 380
-.word 702
-.word 863
-.word 431
-.word 215
-.word 619
-.word 309
-.word 666
-.word 845
-.word 422
-.word 211
-.word 617
-.word 308
-.word 154
-.word 589
-.word 294
-.word 147
-.word 585
-.word 292
-.word 146
-.word 73
-.word 36
-.word 18
-.word 9
-.word 4
-.word 2
-.word 1
-.word 512
-.word 256
-.word 128
-.word 64
-.word 32
-.word 16
-.word 8
-.word 516
-.word 258
-.word 129
-.word 576
-.word 288
-.word 144
-.word 72
-.word 548
-.word 274
-.word 137
-.word 68
-.word 34
-.word 17
-.word 520
-.word 772
-.word 386
-.word 193
-.word 608
-.word 304
-.word 152
-.word 588
-.word 806
-.word 403
-.word 713
-.word 356
-.word 178
-.word 89
-.word 44
-.word 534
-.word 267
-.word 133
-.word 578
-.word 289
-.word 656
-.word 328
-.word 676
-.word 338
-.word 169
-.word 84
-.word 42
-.word 533
-.word 778
-.word 901
-.word 962
-.word 481
-.word 752
-.word 376
-.word 700
-.word 862
-.word 943
-.word 471
-.word 747
-.word 373
-.word 698
-.word 861
-.word 430
-.word 727
-.word 875
-.word 437
-.word 730
-.word 877
-.word 438
-.word 219
-.word 109
-.word 54
-.word 27
-.word 13
-.word 6
-.word 3
-.word 513
-.word 768
-.word 384
-.word 192
-.word 96
-.word 48
-.word 24
-.word 524
-.word 774
-.word 387
-.word 705
-.word 864
-.word 432
-.word 216
-.word 620
-.word 822
-.word 411
-.word 205
-.word 102
-.word 51
-.word 537
-.word 268
-.word 646
-.word 323
-.word 673
-.word 848
-.word 424
-.word 724
-.word 362
-.word 693
-.word 858
-.word 941
-.word 470
-.word 235
-.word 117
-.word 570
-.word 797
-.word 398
-.word 711
-.word 867
-.word 945
-.word 984
-.word 1004
-.word 1014
-.word 507
-.word 253
-.word 126
-.word 575
-.word 287
-.word 143
-.word 71
-.word 547
-.word 785
-.word 904
-.word 964
-.word 482
-.word 241
-.word 632
-.word 828
-.word 926
-.word 975
-.word 487
-.word 755
-.word 889
-.word 444
-.word 734
-.word 879
-.word 439
-.word 731
-.word 365
-.word 182
-.word 91
-.word 45
-.word 22
-.word 11
-.word 5
-.word 514
-.word 257
-.word 640
-.word 320
-.word 160
-.word 80
-.word 40
-.word 532
-.word 266
-.word 645
-.word 834
-.word 417
-.word 720
-.word 360
-.word 692
-.word 346
-.word 685
-.word 342
-.word 171
-.word 85
-.word 554
-.word 789
-.word 906
-.word 965
-.word 994
-.word 497
-.word 760
-.word 892
-.word 958
-.word 991
-.word 495
-.word 247
-.word 635
-.word 317
-.word 158
-.word 591
-.word 295
-.word 659
-.word 841
-.word 420
-.word 210
-.word 105
-.word 52
-.word 26
-.word 525
-.word 262
-.word 131
-.word 577
-.word 800
-.word 400
-.word 200
-.word 612
-.word 306
-.word 153
-.word 76
-.word 550
-.word 275
-.word 649
-.word 324
-.word 162
-.word 81
-.word 552
-.word 788
-.word 394
-.word 709
-.word 866
-.word 433
-.word 728
-.word 876
-.word 950
-.word 475
-.word 237
-.word 118
-.word 59
-.word 29
-.word 14
-.word 519
-.word 771
-.word 897
-.word 960
-.word 480
-.word 240
-.word 120
-.word 572
-.word 798
-.word 911
-.word 455
-.word 739
-.word 881
-.word 952
-.word 988
-.word 1006
-.word 1015
-.word 1019
-.word 509
-.word 254
-.word 639
-.word 319
-.word 159
-.word 79
-.word 39
-.word 531
-.word 777
-.word 388
-.word 194
-.word 97
-.word 560
-.word 280
-.word 652
-.word 838
-.word 419
-.word 721
-.word 872
-.word 948
-.word 474
-.word 749
-.word 374
-.word 187
-.word 93
-.word 46
-.word 535
-.word 779
-.word 389
-.word 706
-.word 353
-.word 688
-.word 344
-.word 684
-.word 854
-.word 427
-.word 213
-.word 618
-.word 821
-.word 922
-.word 973
-.word 486
-.word 243
-.word 633
-.word 316
-.word 670
-.word 847
-.word 423
-.word 723
-.word 873
-.word 436
-.word 218
-.word 621
-.word 310
-.word 155
-.word 77
-.word 38
-.word 19
-.word 521
-.word 260
-.word 130
-.word 65
-.word 544
-.word 272
-.word 136
-.word 580
-.word 290
-.word 145
-.word 584
-.word 804
-.word 402
-.word 201
-.word 100
-.word 50
-.word 25
-.word 12
-.word 518
-.word 259
-.word 641
-.word 832
-.word 416
-.word 208
-.word 104
-.word 564
-.word 282
-.word 653
-.word 326
-.word 163
-.word 593
-.word 808
-.word 916
-.word 458
-.word 741
-.word 882
-.word 441
-.word 220
-.word 622
-.word 823
-.word 923
-.word 461
-.word 230
-.word 115
-.word 569
-.word 284
-.word 654
-.word 839
-.word 931
-.word 977
-.word 1000
-.word 1012
-.word 506
-.word 765
-.word 382
-.word 703
-.word 351
-.word 175
-.word 87
-.word 555
-.word 277
-.word 650
-.word 837
-.word 930
-.word 465
-.word 744
-.word 884
-.word 442
-.word 733
-.word 366
-.word 695
-.word 859
-.word 429
-.word 214
-.word 107
-.word 53
-.word 538
-.word 781
-.word 390
-.word 195
-.word 609
-.word 816
-.word 408
-.word 716
-.word 870
-.word 435
-.word 729
-.word 364
-.word 694
-.word 347
-.word 173
-.word 86
-.word 43
-.word 21
-.word 522
-.word 773
-.word 898
-.word 449
-.word 736
-.word 368
-.word 184
-.word 604
-.word 814
-.word 919
-.word 971
-.word 485
-.word 754
-.word 377
-.word 188
-.word 606
-.word 815
-.word 407
-.word 715
-.word 357
-.word 690
-.word 345
-.word 172
-.word 598
-.word 299
-.word 149
-.word 586
-.word 805
-.word 914
-.word 457
-.word 228
-.word 114
-.word 57
-.word 28
-.word 526
-.word 775
-.word 899
-.word 961
-.word 992
-.word 496
-.word 248
-.word 636
-.word 830
-.word 927
-.word 463
-.word 231
-.word 627
-.word 825
-.word 412
-.word 718
-.word 871
-.word 947
-.word 985
-.word 492
-.word 758
-.word 379
-.word 189
-.word 94
-.word 559
-.word 279
-.word 651
-.word 325
-.word 674
-.word 337
-.word 680
-.word 852
-.word 426
-.word 725
-.word 874
-.word 949
-.word 986
-.word 1005
-.word 502
-.word 251
-.word 125
-.word 62
-.word 543
-.word 271
-.word 135
-.word 579
-.word 801
-.word 912
-.word 456
-.word 740
-.word 370
-.word 185
-.word 92
-.word 558
-.word 791
-.word 907
-.word 453
-.word 738
-.word 369
-.word 696
-.word 860
-.word 942
-.word 983
-.word 1003
-.word 501
-.word 762
-.word 893
-.word 446
-.word 735
-.word 367
-.word 183
-.word 603
-.word 301
-.word 150
-.word 75
-.word 37
-.word 530
-.word 265
-.word 132
-.word 66
-.word 33
-.word 528
-.word 264
-.word 644
-.word 322
-.word 161
-.word 592
-.word 296
-.word 660
-.word 330
-.word 677
-.word 850
-.word 425
-.word 212
-.word 106
-.word 565
-.word 794
-.word 909
-.word 454
-.word 227
-.word 625
-.word 824
-.word 924
-.word 974
-.word 999
-.word 1011
-.word 1017
-.word 508
-.word 766
-.word 895
-.word 447
-.word 223
-.word 111
-.word 55
-.word 539
-.word 269
-.word 134
-.word 67
-.word 545
-.word 784
-.word 392
-.word 708
-.word 354
-.word 177
-.word 600
-.word 812
-.word 918
-.word 459
-.word 229
-.word 626
-.word 313
-.word 156
-.word 590
-.word 807
-.word 915
-.word 969
-.word 484
-.word 242
-.word 121
-.word 60
-.word 542
-.word 783
-.word 391
-.word 707
-.word 865
-.word 944
-.word 472
-.word 748
-.word 886
-.word 443
-.word 221
-.word 110
-.word 567
-.word 795
-.word 397
-.word 198
-.word 99
-.word 561
-.word 792
-.word 908
-.word 966
-.word 483
-.word 753
-.word 888
-.word 956
-.word 990
-.word 1007
-.word 503
-.word 763
-.word 381
-.word 190
-.word 607
-.word 303
-.word 151
-.word 587
-.word 293
-.word 658
-.word 329
-.word 164
-.word 82
-.word 41
-.word 20
-.word 10
-.word 517
-.word 770
-.word 385
-.word 704
-.word 352
-.word 176
-.word 88
-.word 556
-.word 790
-.word 395
-.word 197
-.word 610
-.word 305
-.word 664
-.word 844
-.word 934
-.word 467
-.word 745
-.word 372
-.word 186
-.word 605
-.word 302
-.word 663
-.word 843
-.word 421
-.word 722
-.word 361
-.word 180
-.word 90
-.word 557
-.word 278
-.word 139
-.word 69
-.word 546
-.word 273
-.word 648
-.word 836
-.word 418
-.word 209
-.word 616
-.word 820
-.word 410
-.word 717
-.word 358
-.word 179
-.word 601
-.word 300
-.word 662
-.word 331
-.word 165
-.word 594
-.word 297
-.word 148
-.word 74
-.word 549
-.word 786
-.word 393
-.word 196
-.word 98
-.word 49
-.word 536
-.word 780
-.word 902
-.word 451
-.word 737
-.word 880
-.word 440
-.word 732
-.word 878
-.word 951
-.word 987
-.word 493
-.word 246
-.word 123
-.word 61
-.word 30
-.word 527
-.word 263
-.word 643
-.word 833
-.word 928
-.word 464
-.word 232
-.word 628
-.word 314
-.word 669
-.word 334
-.word 679
-.word 851
-.word 937
-.word 468
-.word 234
-.word 629
-.word 826
-.word 925
-.word 462
-.word 743
-.word 883
-.word 953
-.word 476
-.word 750
-.word 887
-.word 955
-.word 477
-.word 238
-.word 631
-.word 827
-.word 413
-.word 206
-.word 615
-.word 819
-.word 921
-.word 460
-.word 742
-.word 371
-.word 697
-.word 348
-.word 686
-.word 855
-.word 939
-.word 469
-.word 746
-.word 885
-.word 954
-.word 989
-.word 494
-.word 759
-.word 891
-.word 445
-.word 222
-.word 623
-.word 311
-.word 667
-.word 333
-.word 166
-.word 83
-.word 553
-.word 276
-.word 138
-.word 581
-.word 802
-.word 401
-.word 712
-.word 868
-.word 434
-.word 217
-.word 108
-.word 566
-.word 283
-.word 141
-.word 70
-.word 35
-.word 529
-.word 776
-.word 900
-.word 450
-.word 225
-.word 624
-.word 312
-.word 668
-.word 846
-.word 935
-.word 979
-.word 1001
-.word 500
-.word 250
-.word 637
-.word 318
-.word 671
-.word 335
-.word 167
-.word 595
-.word 809
-.word 404
-.word 202
-.word 613
-.word 818
-.word 409
-.word 204
-.word 614
-.word 307
-.word 665
-.word 332
-.word 678
-.word 339
-.word 681
-.word 340
-.word 170
-.word 597
-.word 810
-.word 917
-.word 970
-.word 997
-.word 1010
-.word 505
-.word 252
-.word 638
-.word 831
-.word 415
-.word 207
-.word 103
-.word 563
-.word 793
-.word 396
-.word 710
-.word 355
-.word 689
-.word 856
-.word 940
-.word 982
-.word 491
-.word 245
-.word 634
-.word 829
-.word 414
-.word 719
-.word 359
-.word 691
-.word 857
-.word 428
-.word 726
-.word 363
-.word 181
-.word 602
-.word 813
-.word 406
-.word 203
-.word 101
-.word 562
-.word 281
-.word 140
-.word 582
-.word 291
-.word 657
-.word 840
-.word 932
-.word 466
-.word 233
-.word 116
-.word 58
-.word 541
-.word 270
-.word 647
-.word 835
-.word 929
-.word 976
-.word 488
-.word 756
-.word 378
-.word 701
-.word 350
-.word 687
-.word 343
-.word 683
-.word 341
-.word 682
-.word 853
-.word 938
-.word 981
-.word 1002
-.word 1013
-.word 1018
-.word 1021
-.word 510
-.word 767
-.word 383
-.word 191
-.word 95
-.word 47
-.word 23
-.word 523
-.word 261
-.word 642
-.word 321
-.word 672
-.word 336
-.word 168
-.word 596
-.word 298
-.word 661
-.word 842
-.word 933
-.word 978
-.word 489
-.word 244
-.word 122
-.word 573
-.word 286
-.word 655
-.word 327
-.word 675
-.word 849
-.word 936
-.word 980
-.word 490
-.word 757
-.word 890
-.word 957
-.word 478
-.word 751
-.word 375
-.word 699
-.word 349
-.word 174
-.word 599
-.word 811
-.word 405
-.word 714
-.word 869
-.word 946
-.word 473
-.word 236
-.word 630
-.word 315
-.word 157
-.word 78
-.word 551
-.word 787
-.word 905
-.word 452
-.word 226
-.word 113
-.word 568
-.word 796
-.word 910
-.word 967
-.word 995
-.word 1009
-.word 1016
-.word 1020
-.word 1022
-
-RVTEST_CODE_END