1 # mach: bfin 2 3 .include "testutils.inc" 4 start 5 6 // load r1=0x7fffffff 7 // load r2=0x80000000 8 // load r3=0x000000ff 9 // load r4=0x00000000 10 loadsym p0, data0; 11 R0 = [ P0 ++ ]; 12 R1 = [ P0 ++ ]; 13 R2 = [ P0 ++ ]; 14 R3 = [ P0 ++ ]; 15 R4 = [ P0 ++ ]; 16 17 _dbg r0; 18 _dbg r1; 19 _dbg r2; 20 _dbg r3; 21 _dbg r4; 22 23 R7 = 0; 24 ASTAT = R7; 25 r5 = r1 << 0x4 (s); 26 _DBG ASTAT; 27 r7=astat; 28 dbga (r5.h, 0x7fff); 29 dbga (r5.l, 0xffff); 30 dbga (r7.h, 0x0300); // V=1, VS=1 31 dbga (r7.l, 0x8); 32 33 R7 = 0; 34 ASTAT = R7; 35 r5.h = r1.h << 0x4 (s); 36 _DBG ASTAT; 37 r7=astat; 38 dbga (r5.h, 0x7fff); 39 dbga (r7.h, 0x0300); // V=1, VS=1 40 dbga (r7.l, 0x8); 41 42 A0 = 0; 43 A0.w = r1; 44 A0.x = r0.l; 45 r6 = 0x3; 46 _dbg r6; 47 _dbg A0; 48 R7 = 0; 49 ASTAT = R7; 50 A0 = ASHIFT A0 BY R6.L; 51 _DBG ASTAT; 52 _DBG A0; 53 r7 = astat; 54 dbga (r7.h, 0x0); // AV0=0, AV0S=0 55 dbga (r7.l, 0x2); // AN = 1 56 57 A1 = 0; 58 A1 = r1; 59 A1.x = r0.l; 60 r6 = 0x3; 61 _dbg A1; 62 R7 = 0; 63 ASTAT = R7; 64 A1 = ASHIFT A1 BY R6.L; 65 _DBG ASTAT; 66 _DBG A1; 67 r7 = astat; 68 dbga (r7.h, 0x0); // AV1=0, AV1S=0 69 dbga (r7.l, 0x2); // AN = 1 70 71 pass 72 73 .data 0x1000; 74 data0: 75 .dw 0x1111 76 .dw 0x1111 77 .dw 0xffff 78 .dw 0x7fff 79 .dw 0x0000 80 .dw 0x8000 81 .dw 0x00ff 82 .dw 0x0000 83 .dw 0x0000 84 .dw 0x0000 85