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

	.include "testutils.inc"

	float_constants
	start
	load_float_constants

	.global nfitos
nfitos:
	set_fr_iimmed	0,0,fr1
	nfitos		fr1,fr1
	test_fr_fr	fr1,fr16
	test_fr_fr	fr1,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	set_fr_iimmed	0x0000,0x0002,fr1
	nfitos		fr1,fr1
	test_fr_fr	fr1,fr32
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	set_fr_iimmed	0xdead,0xbeef,fr1
	nfitos		fr1,fr1
	test_fr_iimmed	0xce054904,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	; These were an attempt to cause overflow
	set_fr_iimmed	0x7fff,0xffff,fr1
	nfitos		fr1,fr1
	test_fr_iimmed	0x4f000000,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	set_fr_iimmed	0x8000,0x0000,fr1
	nfitos		fr1,fr1
	test_fr_iimmed	0xcf000000,fr1
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	pass