1# Blackfin testcase for vector ABS instruction 2# mach: bfin 3 4#include "test.h" 5 6 .include "testutils.inc" 7 8 start 9 10 .global _test 11_test: 12 R6 = ASTAT; 13 R0.H = 0x8000; 14 R0.L = 0x0; 15 R1 = ABS R0 (V); 16 R7 = ASTAT; 17 R2.H = 0x7fff; 18 R2.L = 0x0; 19 CC = R1 == R2; 20 IF !CC JUMP 1f; 21 /* CLEARED: AN */ 22 R3.H = HI(_AN); 23 R3.L = LO(_AN); 24 R4 = R7 & R3; 25 CC = R4 == 0; 26 IF !CC JUMP 1f; 27 /* SET: AZ V V_COPY VS */ 28 R3.H = HI(_AZ|_V|_V_COPY|_VS); 29 R3.L = LO(_AZ|_V|_V_COPY|_VS); 30 R4 = R7 & R3; 31 CC = R3 == R4; 32 IF !CC JUMP 1f; 33 /* UNAFFECTED: CC AQ RND_MOD AV0 AV0S AV1 AV1S AC0 AC0_COPY AC1 */ 34 R3.H = HI(_CC|_AQ|_RND_MOD|_AV0|_AV0S|_AV1|_AV1S|_AC0|_AC0_COPY|_AC1); 35 R3.L = LO(_CC|_AQ|_RND_MOD|_AV0|_AV0S|_AV1|_AV1S|_AC0|_AC0_COPY|_AC1); 36 R4 = R6 & R3; 37 R5 = R7 & R3; 38 CC = R4 == R5; 39 IF !CC JUMP 1f; 40 pass 411: 42 fail 43