summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/sh64/compact/negc.cgs
blob: 1f5547d9babff93987438a4a9f1f4246c7d30c35 (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
# sh testcase for negc $rm, $rn -*- Asm -*-
# mach: all
# as: -isa=shcompact
# ld: -m shelf32

	.include "compact/testutils.inc"

	.macro signbit sign
	mov r1, r2
	shlr16 r2
	shlr8 r2
	shlr r2
	shlr r2
	shlr r2
	shlr r2
	shlr r2
	shlr r2
	shlr r2
	assert r2, \sign
	.endm
	start

	.global negc
negc:
	clrt
	mov #1, r0
	negc r0, r1
	signbit #1

negc2:
	sett
	mov #1, r0
	negc r0, r1
	signbit #1

negc3:
	clrt
	mov #0, r0
	negc r0, r1
	signbit #0

negc4:
	sett
	mov #0, r0
	negc r0, r1
	signbit #1

negc5:
	clrt
	mov #0, r0
	or #255, r0
	negc r0, r1
	signbit #1

negc6:
	sett
	mov #0, r0
	or #255, r0
	negc r0, r1
	signbit #1

okay:
	pass

wrong:
	fail