summaryrefslogtreecommitdiff
path: root/sim/testsuite/sh/pmuls.s
blob: 4cff8787f4e9fa13947d43d59b88665db386638e (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
# sh testcase for pmuls
# mach:	 shdsp
# as(shdsp):	-defsym sim_cpu=1 -dsp

	.include "testutils.inc"

	start
	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

	# 2 x 2 = 8 (?)
	# (I don't understand why the result is x2,
	# but that's what it says in the manual...)
	mov	#2, r0
	shll16	r0
	lds	r0, y0
	lds	r0, y1
	pmuls	y0, y1, a0

	assert_sreg	8, a0

	set_greg 0xa5a5a5a5, r0
	test_grs_a5a5
	pass
	exit 0