1 1.1 christos // Test various moves to single register 2 1.1 christos # mach: bfin 3 1.1 christos 4 1.1 christos 5 1.1 christos .include "testutils.inc" 6 1.1 christos start 7 1.1 christos 8 1.1 christos 9 1.1 christos // load r0=0x7fffffff 10 1.1 christos // load r1=0x00ffffff 11 1.1 christos // load r2=0xf0000000 12 1.1 christos // load r3=0x0000007f 13 1.1 christos loadsym P0, data0; 14 1.1 christos R0 = [ P0 ++ ]; 15 1.1 christos R1 = [ P0 ++ ]; 16 1.1 christos R2 = [ P0 ++ ]; 17 1.1 christos R3 = [ P0 ++ ]; 18 1.1 christos 19 1.1 christos // extract only to high register 20 1.1 christos R5 = 0; 21 1.1 christos R4 = 0; 22 1.1 christos A1 = A0 = 0; 23 1.1 christos A1.w = R0; 24 1.1 christos A0.w = R0; 25 1.1 christos R5 = A1; 26 1.1 christos DBGA ( R4.L , 0x0000 ); 27 1.1 christos DBGA ( R4.H , 0x0000 ); 28 1.1 christos DBGA ( R5.L , 0xffff ); 29 1.1 christos DBGA ( R5.H , 0x7fff ); 30 1.1 christos 31 1.1 christos // extract only to low register 32 1.1 christos R5 = 0; 33 1.1 christos R4 = 0; 34 1.1 christos A1 = A0 = 0; 35 1.1 christos A1.w = R0; 36 1.1 christos A0.w = R0; 37 1.1 christos R4 = A0; 38 1.1 christos DBGA ( R4.L , 0xffff ); 39 1.1 christos DBGA ( R4.H , 0x7fff ); 40 1.1 christos DBGA ( R5.L , 0x0000 ); 41 1.1 christos DBGA ( R5.H , 0x0000 ); 42 1.1 christos 43 1.1 christos // extract only to high reg 44 1.1 christos R5 = 0; 45 1.1 christos R4 = 0; 46 1.1 christos A1 = A0 = 0; 47 1.1 christos R5 = ( A1 += R0.H * R0.H ), A0 += R0.H * R0.H; 48 1.1 christos DBGA ( R4.L , 0x0000 ); 49 1.1 christos DBGA ( R4.H , 0x0000 ); 50 1.1 christos DBGA ( R5.L , 0x0002 ); 51 1.1 christos DBGA ( R5.H , 0x7ffe ); 52 1.1 christos 53 1.1 christos // extract only to low reg 54 1.1 christos R5 = 0; 55 1.1 christos R4 = 0; 56 1.1 christos A1 = A0 = 0; 57 1.1 christos A1 += R0.H * R0.H, R4 = ( A0 += R0.H * R0.H ); 58 1.1 christos DBGA ( R4.L , 0x0002 ); 59 1.1 christos DBGA ( R4.H , 0x7ffe ); 60 1.1 christos DBGA ( R5.L , 0x0000 ); 61 1.1 christos DBGA ( R5.H , 0x0000 ); 62 1.1 christos 63 1.1 christos pass 64 1.1 christos 65 1.1 christos .data 66 1.1 christos data0: 67 1.1 christos .dw 0xffff 68 1.1 christos .dw 0x7fff 69 1.1 christos .dw 0xffff 70 1.1 christos .dw 0x00ff 71 1.1 christos .dw 0x0000 72 1.1 christos .dw 0xf000 73 1.1 christos .dw 0x007f 74 1.1 christos .dw 0x0000 75