1# frv testcase for subicc $GRi,$GRj,$GRk 2# mach: all 3 4 .include "testutils.inc" 5 6 start 7 8 .global subicc 9subicc: 10 set_gr_immed 2,gr8 11 set_icc 0x0f,0 ; Set mask opposite of expected 12 subicc gr8,1,gr8,icc0 13 test_icc 0 0 0 0 icc0 14 test_gr_immed 1,gr8 15 16 set_gr_limmed 0x8000,0x0000,gr8 17 set_icc 0x0d,0 ; Set mask opposite of expected 18 subicc gr8,1,gr8,icc0 19 test_icc 0 0 1 0 icc0 20 test_gr_limmed 0x7fff,0xffff,gr8 21 22 set_gr_immed 0x1ff,gr8 23 set_icc 0x0b,0 ; Set mask opposite of expected 24 subicc gr8,0x1ff,gr8,icc0 25 test_icc 0 1 0 0 icc0 26 test_gr_immed 0,gr8 27 28 set_icc 0x06,0 ; Set mask opposite of expected 29 subicc gr8,1,gr8,icc0 30 test_icc 1 0 0 1 icc0 31 test_gr_limmed 0xffff,0xffff,gr8 32 33 set_gr_immed 2,gr8 34 set_icc 0x0e,0 ; Set mask opposite of expected 35 subicc gr8,-1,gr8,icc0 36 test_icc 0 0 0 1 icc0 37 test_gr_immed 3,gr8 38 39 set_gr_limmed 0x8000,0x0000,gr8 40 set_icc 0x06,0 ; Set mask opposite of expected 41 subicc gr8,-1,gr8,icc0 42 test_icc 1 0 0 1 icc0 43 test_gr_limmed 0x8000,0x0001,gr8 44 45 set_gr_immed -512,gr8 46 set_icc 0x0b,0 ; Set mask opposite of expected 47 subicc gr8,-512,gr8,icc0 48 test_icc 0 1 0 0 icc0 49 test_gr_immed 0,gr8 50 51 set_icc 0x0e,0 ; Set mask opposite of expected 52 subicc gr8,-1,gr8,icc0 53 test_icc 0 0 0 1 icc0 54 test_gr_immed 1,gr8 55 56 pass 57