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

check:
        # Put the result in R3.
        movi 0x7585, 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
        shlli r3, 8, r3
        ori r3, 0x60, r3

        pta wrong, tr0
        bne r2, r3, tr0

okay:
	pass

wrong:
	fail