Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/testcases/core/c_dsp32shiftim_ahh_s/c_dsp32shiftim_ahh_s.dsp
      2 # mach: bfin
      3 
      4 .include "testutils.inc"
      5 	start
      6 
      7 
      8 // Spec Reference: dsp32shiftimm ashift: ashift / ashift saturated
      9 
     10 
     11 
     12 imm32 r0, 0x01230abc;
     13 imm32 r1, 0x12345678;
     14 imm32 r2, 0x23456789;
     15 imm32 r3, 0x3456789a;
     16 imm32 r4, 0x456789ab;
     17 imm32 r5, 0x56789abc;
     18 imm32 r6, 0x6789abcd;
     19 imm32 r7, 0x789abcde;
     20 R0 = R0 << 0 (V , S);
     21 R1 = R1 << 3 (V , S);
     22 R2 = R2 << 5 (V , S);
     23 R3 = R3 << 8 (V , S);
     24 R4 = R4 << 9 (V , S);
     25 R5 = R5 << 15 (V , S);
     26 R6 = R6 << 7 (V , S);
     27 R7 = R7 << 13 (V , S);
     28 CHECKREG r0, 0x01230ABC;
     29 CHECKREG r1, 0x7FFF7FFF;
     30 CHECKREG r2, 0x7FFF7FFF;
     31 CHECKREG r3, 0x7FFF7FFF;
     32 CHECKREG r4, 0x7FFF8000;
     33 CHECKREG r5, 0x7FFF8000;
     34 CHECKREG r6, 0x7FFF8000;
     35 CHECKREG r7, 0x7FFF8000;
     36 
     37 imm32 r0, 0x01230000;
     38 imm32 r1, 0x12345678;
     39 imm32 r2, 0x23456789;
     40 imm32 r3, 0x3456789a;
     41 imm32 r4, 0x456789ab;
     42 imm32 r5, 0x56789abc;
     43 imm32 r6, 0x6789abcd;
     44 imm32 r7, 0x789abcde;
     45 R7 = R0 >>> 1 (V, S);
     46 R0 = R1 >>> 8 (V, S);
     47 R1 = R2 >>> 14 (V, S);
     48 R2 = R3 >>> 15 (V, S);
     49 R3 = R4 >>> 11 (V, S);
     50 R4 = R5 >>> 4 (V, S);
     51 R5 = R6 >>> 9 (V, S);
     52 R6 = R7 >>> 6 (V, S);
     53 CHECKREG r0, 0x00120056;
     54 CHECKREG r1, 0x00000001;
     55 CHECKREG r2, 0x00000000;
     56 CHECKREG r3, 0x0008FFF1;
     57 CHECKREG r4, 0x0567F9AB;
     58 CHECKREG r5, 0x0033FFD5;
     59 CHECKREG r6, 0x00020000;
     60 CHECKREG r7, 0x00910000;
     61 
     62 
     63 
     64 
     65 pass
     66