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

	.include "media/testutils.inc"

	start

init:
	pta wrong, tr0

andc1:
	# X . !X = 0.
	movi 3, r0
	movi 3, r1
	andc r0, r1, r2
	bnei r2, 0, tr0

andc2:
	# X . 0 = X.
	movi 3, r0
	movi 0, r1
	andc r0, r1, r2
	bnei r2, 3, tr0

andc3:
	# wide X . 0 = wide X.
	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
	movi 0, r1
	andc r0, r1, r2
	bne r0, r2, tr0

okay:	
	pass

wrong:
	fail