summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/sh64/media/mextr5.cgs
blob: c61a0c89f521b90cf07787d7418c77759a7ce878 (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 mextr5 $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
 
mextr5:
	mextr5 r0, r1, r2

check:
        # Put the result in R3.
        movi 0x6575, r3
        shlli r3, 8, r3
        ori r3, 0x85, r3
        shlli r3, 8, r3
        ori r3, 0x10, r3
        shlli r3, 8, r3
        ori r3, 0x20, r3
        shlli r3, 8, r3
        ori r3, 0x30, r3
        shlli r3, 8, r3
        ori r3, 0x40, r3
        shlli r3, 8, r3
        ori r3, 0x50, r3

        pta wrong, tr0
        bne r2, r3, tr0

okay:
	pass

wrong:
	fail