1# frv testcase for slass $GRi,$GRj,$GRk 2# mach: fr405 fr450 3 4 .include "../testutils.inc" 5 6 start 7 8 .global sll 9slass0: 10 set_gr_immed 0,gr7 ; Shift by 0 11 set_gr_immed 2,gr8 12 slass gr8,gr7,gr6 13 test_gr_immed 2,gr8 14 test_gr_immed 0,gr7 15 test_gr_immed 2,gr6 16slass1: 17 set_gr_immed 1,gr7 ; Shift by 1 18 set_gr_immed 2,gr8 19 slass gr8,gr7,gr6 20 test_gr_immed 2,gr8 21 test_gr_immed 1,gr7 22 test_gr_immed 4,gr6 23 24slass2: 25 set_gr_immed 31,gr7 ; Shift 1 by 31 26 set_gr_immed 1,gr8 27 slass gr8,gr7,gr6 28 test_gr_immed 1,gr8 29 test_gr_immed 31,gr7 30 test_gr_limmed 0x7fff,0xffff,gr6 31 32slass3: 33 set_gr_immed 31,gr7 ; Shift -1 by 31 34 set_gr_immed -1,gr8 35 slass gr8,gr7,gr6 36 test_gr_immed -1,gr8 37 test_gr_immed 31,gr7 38 test_gr_limmed 0x8000,0x0000,gr6 39 40slass4: 41 set_gr_immed 14,gr7 ; Shift 0xffff0000 by 14 42 set_gr_limmed 0xffff,0x0000,gr8 43 slass gr8,gr7,gr6 44 test_gr_limmed 0xffff,0x0000,gr8 45 test_gr_immed 14,gr7 46 test_gr_limmed 0xc000,0x0000,gr6 47 48slass5: 49 set_gr_immed 15,gr7 ; Shift 0xffff0000 by 15 50 set_gr_limmed 0xffff,0x0000,gr8 51 slass gr8,gr7,gr6 52 test_gr_limmed 0xffff,0x0000,gr8 53 test_gr_immed 15,gr7 54 test_gr_limmed 0x8000,0x0000,gr6 55 56slass6: 57 set_gr_immed 20,gr7 ; Shift 0xffff0000 by 20 58 set_gr_limmed 0xffff,0x0000,gr8 59 slass gr8,gr7,gr6 60 test_gr_limmed 0xffff,0x0000,gr8 61 test_gr_immed 20,gr7 62 test_gr_limmed 0x8000,0x0000,gr6 63 64slass7: 65 set_gr_immed 14,gr7 ; Shift 0x0000ffff by 14 66 set_gr_limmed 0x0000,0xffff,gr8 67 slass gr8,gr7,gr6 68 test_gr_limmed 0x0000,0xffff,gr8 69 test_gr_immed 14,gr7 70 test_gr_limmed 0x3fff,0xc000,gr6 71 72slass8: 73 set_gr_immed 15,gr7 ; Shift 0x0000ffff by 15 74 set_gr_limmed 0x0000,0xffff,gr8 75 slass gr8,gr7,gr6 76 test_gr_limmed 0x0000,0xffff,gr8 77 test_gr_immed 15,gr7 78 test_gr_limmed 0x7fff,0x8000,gr6 79 80slass9: 81 set_gr_immed 20,gr7 ; Shift 0x0000ffff by 20 82 set_gr_limmed 0x0000,0xffff,gr8 83 slass gr8,gr7,gr6 84 test_gr_limmed 0x0000,0xffff,gr8 85 test_gr_immed 20,gr7 86 test_gr_limmed 0x7fff,0xffff,gr6 87 88slass10: 89 set_gr_immed 30,gr7 ; Shift 1 by 30 90 set_gr_immed 1,gr8 91 slass gr8,gr7,gr6 92 test_gr_immed 1,gr8 93 test_gr_immed 30,gr7 94 test_gr_limmed 0x4000,0x0000,gr6 95 96slass11: 97 set_gr_immed 30,gr7 ; Shift -1 by 30 98 set_gr_immed -1,gr8 99 slass gr8,gr7,gr6 100 test_gr_immed -1,gr8 101 test_gr_immed 30,gr7 102 test_gr_limmed 0xc000,0000,gr6 103 104 pass 105