Home | History | Annotate | Download | only in bfin
      1 	.extern f001
      2 	.extern F002
      3 	.text
      4 	.global load_immediate
      5 load_immediate:
      6 	/* Half-Word Load.  */
      7 	M3.l = 0xffff;
      8 	b2.l = 0xfffe;
      9 	Sp.l = 0;
     10 	FP.L = 0xfedc;
     11 	r0.h = 2;
     12 	p5.H = 32;
     13 	I2.h = 0xf204;
     14 	b1.H = 64;
     15 	l0.h = 0xffff;
     16 	R5.h = load_data1;
     17 	B2.H = F002;
     18 
     19 	/* Zero Extended.  */
     20 	fp = 0xff20 (Z);
     21 	l2 = 32 (z);
     22 	R5 = foo2 (Z);
     23 	A0 = 0;
     24 	A1 = 0;
     25 	a1 = a0 = 0;
     26 
     27 	/* Sign Extended.  */
     28 	r2 = -64 (x);
     29 	R0 = 0x7f (X);
     30 	P2 = 0 (x);
     31 	sp = -32 (x);
     32 	fp = 44 (X);
     33 	l3 = 0x800 (x);
     34 	m2 = 0x7fff (X);
     35 	R1 = 16 (X);
     36 	L0 = foo1;
     37 	r7 = load_data2;
     38 
     39 	/* Test constant folding.  */
     40 	r0.l = (a + 5) - 2;
     41 	r1.l = (a + 5) + 10;
     42 
     43 	.text
     44 	.global load_pointer_register
     45 load_pointer_register:
     46 	Sp = [ fp];
     47 	FP = [ p0++ ];
     48 	p1 = [sp--];
     49 	SP = [P2 +56];
     50 	p3 = [fp + 0];
     51 	P4 = [FP + 0x0001FFFC];
     52 	sp = [fp-0x0001fffc];
     53 	sp = [p4-0];
     54 	P5 = [FP-128];
     55 
     56 
     57 	.text
     58 	.global load_data_register
     59 load_data_register:
     60 	R7 = [p0];
     61 	r6 = [p5++];
     62 	r5 = [P4 --];
     63 	R4 = [Fp + 40];
     64 	r3 = [sp+131068];
     65 	r2 = [sp-0];
     66 	r1 = [fp - 0x0001fffc];
     67 	R0 = [sp ++ p0];
     68 	R5 = [Fp-128];
     69 	r2 = [i0];
     70 	r1 = [I1++];
     71 	R3 = [I2--];
     72 	R4 = [i3 ++ M0];
     73 
     74 	.text
     75 	.global load_half_word_zero_extend
     76 load_half_word_zero_extend:
     77 	r7 = w [sp] (z);
     78 	R6 = W [FP ++] (Z);
     79 	R5 = W [P0 --] (z);
     80 	R4 = w [p1 + 30] (Z);
     81 	r3 = w [sp + 0xfffc] (z);
     82 	r2 = w [fp - 0xfffc] (Z);
     83 	R0 = W [ P0 ++ P5] (z);
     84 
     85 	.text
     86 	.global load_half_word_sign_extend
     87 load_half_word_sign_extend:
     88 	r7 = w [sp] (x);
     89 	R6 = W [FP ++] (X);
     90 	R5 = W [P0 --] (X);
     91 	r5 = w [p1 + 24] (x);
     92 	R3 = w [sp + 0xfffc] (X);
     93 	r7 = w [fp - 0xfffc] (x);
     94 	R1 = W [ P1 ++ P2] (X);
     95 
     96 	.text
     97 	.global load_high_data_register_half
     98 load_high_data_register_half:
     99 	r0.h = w [i0];
    100 	R1.H = W [I1 ++];
    101 	R2.h = w [I2 --];
    102 	r3.H = W [sp];
    103 	R4.h = W [Fp ++ p0];
    104 
    105 	.text
    106 	.global load_low_data_register_half
    107 load_low_data_register_half:
    108 	r7.l = w [i3];
    109 	R6.L = W [I2++];
    110 	R5.l = w [i1 --];
    111 	r4.L = w [P0];
    112 	r3.l = W [p2 ++ p3];
    113 
    114 	.text
    115 	.global load_byte_zero_extend
    116 load_byte_zero_extend:
    117 	r5 = b [p0] (z);
    118 	R4 = B [P1++] (Z);
    119 	r0 = b [p2--] (z);
    120 	R3 = B [sp + 0x7fff] (Z);
    121 	r7 = b [SP - 32767] (z);
    122 
    123 	.text
    124 	.global load_byte_sign_extend
    125 load_byte_sign_extend:
    126 	r5 = b [ P0 ] (X);
    127 	r2 = B [ p1++ ] (x);
    128 	R3 = b [ FP--] (x);
    129 	r7 = B [ sp+0] (x);
    130 	r6 = b [fp-0x7fff] (X);
    131 
    132 	.data
    133 	.global load_data
    134 load_data1:	.byte 0
    135 load_data2:	.word 16
    136 
    137