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