aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/frv/nfstoi.cgs
blob: 296812827ae267564f6bf8e400a57b0ceb4877e0 (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
# frv testcase for nfstoi $FRj,$FRk
# mach: fr500 fr550 frv

	.include "testutils.inc"

	float_constants
	start
	load_float_constants

	.global nfstoi
nfstoi:
	nfstoi		fr16,fr1
	test_fr_iimmed	0,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfstoi		fr20,fr1
	test_fr_iimmed	0,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfstoi		fr32,fr1
	test_fr_iimmed	0x00000002,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	set_fr_iimmed	0xce05,0x4904,fr1
	nfstoi		fr1,fr1
	test_fr_iimmed	0xdeadbf00,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	; These were an attempt to cause overflow and nan exceptions
	nfstoi		fr48,fr1
	test_fr_iimmed	0x7fffffff,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfstoi		fr52,fr1
	test_fr_iimmed	0x7fffffff,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfstoi		fr56,fr1
	test_fr_iimmed	0x80000000,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	pass