# Blackfin testcase for vector ABS instruction
# mach: bfin

#include "test.h"

	.include "testutils.inc"

	start

	.global _test
_test:
	R6 = ASTAT;
	R0.H = 0x1234;
	R0.L = 0xcdef;
	R1 = ABS R0 (V);
	R7 = ASTAT;
	R2.H = 0x1234;
	R2.L = 0x3211;
	CC = R1 == R2;
	IF !CC JUMP 1f;
	/* CLEARED: AZ AN V V_COPY */
	R3.H = HI(_AZ|_AN|_V|_V_COPY);
	R3.L = LO(_AZ|_AN|_V|_V_COPY);
	R4 = R7 & R3;
	CC = R4 == 0;
	IF !CC JUMP 1f;
	/* SET: */
	R3.H = HI(0);
	R3.L = LO(0);
	R4 = R7 & R3;
	CC = R3 == R4;
	IF !CC JUMP 1f;
	/* UNAFFECTED: CC AQ RND_MOD AV0 AV0S AV1 AV1S VS AC0 AC0_COPY AC1 */
	R3.H = HI(_CC|_AQ|_RND_MOD|_AV0|_AV0S|_AV1|_AV1S|_VS|_AC0|_AC0_COPY|_AC1);
	R3.L = LO(_CC|_AQ|_RND_MOD|_AV0|_AV0S|_AV1|_AV1S|_VS|_AC0|_AC0_COPY|_AC1);
	R4 = R6 & R3;
	R5 = R7 & R3;
	CC = R4 == R5;
	IF !CC JUMP 1f;
	pass
1:
	fail
