1 1.1 christos # frv testcase for maddaccs $ACC40Si,$ACC40Sk 2 1.1 christos # mach: all 3 1.1 christos 4 1.1 christos .include "../testutils.inc" 5 1.1 christos 6 1.1 christos start 7 1.1 christos 8 1.1 christos .global maddaccs 9 1.1 christos maddaccs: 10 1.1 christos set_accg_immed 0,accg0 11 1.1 christos set_acc_immed 0x00000000,acc0 12 1.1 christos set_accg_immed 0,accg1 13 1.1 christos set_acc_immed 0x00000000,acc1 14 1.1 christos maddaccs acc0,acc3 15 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 16 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 17 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 18 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set 19 1.1 christos test_accg_immed 0,accg3 20 1.1 christos test_acc_limmed 0x0000,0x0000,acc3 21 1.1 christos 22 1.1 christos set_accg_immed 0,accg0 23 1.1 christos set_acc_immed 0xdead0000,acc0 24 1.1 christos set_accg_immed 0,accg1 25 1.1 christos set_acc_immed 0x0000beef,acc1 26 1.1 christos maddaccs acc0,acc3 27 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 28 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 29 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 30 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set 31 1.1 christos test_accg_immed 0,accg3 32 1.1 christos test_acc_limmed 0xdead,0xbeef,acc3 33 1.1 christos 34 1.1 christos set_accg_immed 0,accg0 35 1.1 christos set_acc_immed 0x0000dead,acc0 36 1.1 christos set_accg_immed 0,accg1 37 1.1 christos set_acc_immed 0xbeef0000,acc1 38 1.1 christos maddaccs acc0,acc3 39 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 40 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 41 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 42 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set 43 1.1 christos test_accg_immed 0,accg3 44 1.1 christos test_acc_limmed 0xbeef,0xdead,acc3 45 1.1 christos 46 1.1 christos set_accg_immed 0,accg0 47 1.1 christos set_acc_immed 0x12345678,acc0 48 1.1 christos set_accg_immed 0,accg1 49 1.1 christos set_acc_immed 0x11111111,acc1 50 1.1 christos maddaccs acc0,acc3 51 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 52 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 53 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 54 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set 55 1.1 christos test_accg_immed 0,accg3 56 1.1 christos test_acc_limmed 0x2345,0x6789,acc3 57 1.1 christos 58 1.1 christos set_accg_immed 0,accg0 59 1.1 christos set_acc_immed 0x12345678,acc0 60 1.1 christos set_accg_immed 0,accg1 61 1.1 christos set_acc_immed 0xffffffff,acc1 62 1.1 christos maddaccs acc0,acc3 63 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 64 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 65 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 66 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set 67 1.1 christos test_accg_immed 1,accg3 68 1.1 christos test_acc_limmed 0x1234,0x5677,acc3 69 1.1 christos 70 1.1 christos set_accg_immed 0,accg0 71 1.1 christos set_acc_immed 0x12345678,acc0 72 1.1 christos set_accg_immed 0xff,accg1 73 1.1 christos set_acc_immed 0xffffffff,acc1 74 1.1 christos maddaccs acc0,acc3 75 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 76 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 77 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 78 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set 79 1.1 christos test_accg_immed 0,accg3 80 1.1 christos test_acc_limmed 0x1234,0x5677,acc3 81 1.1 christos 82 1.1 christos set_spr_immed 0,msr0 83 1.1 christos set_accg_immed 0x7f,accg0 84 1.1 christos set_acc_immed 0xfffe7ffe,acc0 85 1.1 christos set_accg_immed 0x0,accg1 86 1.1 christos set_acc_immed 0x00020001,acc1 87 1.1 christos maddaccs acc0,acc3 88 1.1 christos test_spr_bits 0x3c,2,0x8,msr0 ; msr0.sie is set 89 1.1 christos test_spr_bits 2,1,1,msr0 ; msr0.ovf set 90 1.1 christos test_spr_bits 1,0,1,msr0 ; msr0.aovf set 91 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set 92 1.1 christos test_accg_immed 0x7f,accg3 93 1.1 christos test_acc_limmed 0xffff,0xffff,acc3 94 1.1 christos 95 1.1 christos set_spr_immed 0,msr0 96 1.1 christos set_accg_immed 0x80,accg0 97 1.1 christos set_acc_immed 0x00000001,acc0 98 1.1 christos set_accg_immed 0xff,accg1 99 1.1 christos set_acc_immed 0xfffffffe,acc1 100 1.1 christos maddaccs acc0,acc3 101 1.1 christos test_spr_bits 0x3c,2,0x8,msr0 ; msr0.sie is set 102 1.1 christos test_spr_bits 2,1,1,msr0 ; msr0.ovf set 103 1.1 christos test_spr_bits 1,0,1,msr0 ; msr0.aovf set 104 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set 105 1.1 christos test_accg_immed 0x80,accg3 106 1.1 christos test_acc_limmed 0x0000,0x0000,acc3 107 1.1 christos 108 1.1 christos set_spr_immed 0,msr0 109 1.1 christos set_accg_immed 0,accg0 110 1.1 christos set_acc_immed 0x00000001,acc0 111 1.1 christos set_accg_immed 0,accg1 112 1.1 christos set_acc_immed 0x00000001,acc1 113 1.1 christos set_accg_immed 0,accg4 114 1.1 christos set_acc_immed 0x00000001,acc4 115 1.1 christos set_accg_immed 0x7f,accg5 116 1.1 christos set_acc_immed 0xffffffff,acc5 117 1.1 christos maddaccs.p acc0,acc1 118 1.1 christos maddaccs acc4,acc5 119 1.1 christos test_spr_bits 0x3c,2,0x8,msr0 ; msr0.sie is set 120 1.1 christos test_spr_bits 2,1,1,msr0 ; msr0.ovf set 121 1.1 christos test_spr_bits 1,0,1,msr0 ; msr0.aovf set 122 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set 123 1.1 christos test_accg_immed 0,accg1 124 1.1 christos test_acc_limmed 0x0000,0x0002,acc1 125 1.1 christos test_accg_immed 0x7f,accg5 126 1.1 christos test_acc_limmed 0xffff,0xffff,acc5 127 1.1 christos 128 1.1 christos pass 129