summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/sh/pclr.s
blob: c396f832deeea75ebb40cbc8941259d27ddf0338 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# sh testcase for pclr
# mach:	 shdsp
# as(shdsp):	-defsym sim_cpu=1 -dsp

	# FIXME: opcode table ambiguity in ignored bits 4-7.

	.include "testutils.inc"

	start
pclr_cc:
	set_grs_a5a5
	lds	r0, a0
	pcopy	a0, a1
	lds	r0, x0
	lds	r0, x1
	lds	r0, y0
	lds	r0, y1
	pcopy	x0, m0
	pcopy	y1, m1

	assert_sreg	0xa5a5a5a5, x0
	pclr	x0
	assert_sreg	0, x0

	set_dcfalse
	dct	pclr	x1
	assert_sreg	0xa5a5a5a5, x1
	set_dctrue
	dct	pclr	x1
	assert_sreg	0, x1
	
	set_dctrue
	dcf	pclr	y0
	assert_sreg	0xa5a5a5a5, y0
	set_dcfalse
	dcf	pclr	y0
	assert_sreg	0, y0

	test_grs_a5a5
	assert_sreg	0xa5a5a5a5, a0
	assert_sreg	0xa5a5a5a5, y1
	assert_sreg2	0xa5a5a5a5, a1
	assert_sreg2	0xa5a5a5a5, m0
	assert_sreg2	0xa5a5a5a5, m1

pclr_pmuls:
	set_grs_a5a5
	lds	r0, a0
	pcopy	a0, a1
	lds	r0, x0
	lds	r0, x1
	lds	r0, y0
	lds	r0, y1
	pcopy	x0, m0
	pcopy	y1, m1

	pclr	x0	pmuls	y0, y1, a0

	assert_sreg	0, x0
	assert_sreg	0x3fc838b2, a0	! 0xa5a5 x 0xa5a5

	test_grs_a5a5
	
	pass
	exit 0