Home | History | Annotate | Line # | Download | only in bfin
      1 # Blackfin testcase for DISALGNEXCPT
      2 # mach: bfin
      3 
      4 .include "testutils.inc"
      5 	start
      6 
      7 	loadsym R0, foo;
      8 	R0 += 1;
      9 	I1 = R0;
     10 
     11 	M0 = 4 (z);
     12 
     13 	//dag0misalgn, dag1misalgn EXCAUSE value
     14 	R7 = 0x24 (z);
     15 
     16 	// Get just the EXCAUSE field before
     17 	R5=SEQSTAT;
     18 	R5 = R5 << 26;
     19 	R5 = R5 >> 26;
     20 
     21 	DISALGNEXCPT || R2 = [I1++M0];	// i1 = 0xff9004aa (misaligned)
     22 
     23 	// Get just the EXCAUSE field after
     24 	R6=SEQSTAT;
     25 	R6 = R6 << 26;
     26 	R6 = R6 >> 26;
     27 
     28 	// EXCAUSE of 0x24 == misaligned data memory access
     29 	CC = R6 == R7;
     30 	if CC jump _fail;
     31 
     32 _pass:
     33 	pass;
     34 
     35 _fail:
     36 	fail;
     37 
     38 	.data
     39 foo:
     40 	.space 0x10
     41