summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/sh64/media/mextr1.cgs
blob: b2cb3c3ff296ecc20fa235e617a51da162125059 (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
66
67
# sh testcase for mextr1 $rm, $rn, $rd -*- Asm -*-
# mach: all
# as: -isa=shmedia
# ld: -m shelf64

	.include "media/testutils.inc"

	start

init:
	# Put a distinguised bit pattern in R0.
	movi 0x1020, r0
	shlli r0, 8, r0
	ori r0, 0x30, r0
	shlli r0, 8, r0
	ori r0, 0x40, r0
	shlli r0, 8, r0
	ori r0, 0x50, r0
	shlli r0, 8, r0
	ori r0, 0x60, r0
	shlli r0, 8, r0
	ori r0, 0x70, r0
	shlli r0, 8, r0
	ori r0, 0x80, r0

	# Put another distinguished bit pattern in R1.
	movi 0x1525, r1
	shlli r1, 8, r1
	ori r1, 0x35, r1
	shlli r1, 8, r1
	ori r1, 0x45, r1
	shlli r1, 8, r1
	ori r1, 0x55, r1
	shlli r1, 8, r1
	ori r1, 0x65, r1
	shlli r1, 8, r1
	ori r1, 0x75, r1
	shlli r1, 8, r1
	ori r1, 0x85, r1
 
mextr1:
	mextr1 r0, r1, r2

check:
	# Put the result in R3.
	movi 0x2535, r3
	shlli r3, 8, r3
	ori r3, 0x45, r3
	shlli r3, 8, r3
	ori r3, 0x55, r3
	shlli r3, 8, r3
	ori r3, 0x65, r3
	shlli r3, 8, r3
	ori r3, 0x75, r3
	shlli r3, 8, r3
	ori r3, 0x85, r3
	shlli r3, 8, r3
	ori r3, 0x10, r3

	pta wrong, tr0
	bne r2, r3, tr0

okay:
	pass

wrong:
	fail