1# frv testcase for nfsqrts $FRj,$FRk
2# mach: fr500 fr550 frv
3
4	.include "testutils.inc"
5
6	float_constants
7	start
8	load_float_constants
9
10	.global nfsqrts
11nfsqrts:
12	nfsqrts		fr44,fr1		; 9.0
13	test_fr_fr	fr1,fr36		; 3.0
14	test_spr_immed	0,fner1
15	test_spr_immed	0,fner0
16
17	set_fr_iimmed	0x4049,0x0fdb,fr10	; 3.141592654
18	nfsqrts		fr10,fr10
19	test_fr_iimmed	0x3fe2dfc5,fr10		; 1.7724539
20	test_spr_immed	0,fner1
21	test_spr_immed	0,fner0
22
23	; fp_exceptions
24	nfsqrts		fr8,fr1			; -1 -- invalid
25	test_fr_iimmed	0x7fc00000,fr1		; nan1
26	test_spr_immed	2,fner1
27	test_spr_immed	0,fner0
28	test_spr_bits	0x80000000,31,0x0,fqst0	; fq0.miv is clear
29	test_spr_bits	0x18000,15,0x0,fqst0	; fq0.sie is clear
30	test_spr_bits	0x380,7,0x0,fqst0	; fq0.ftt is clear
31	test_spr_bits	0x7e,1,0x0,fqst0	; fq0.cexc is clear
32	test_spr_bits	0x1,0,0x0,fqst0		; fq0.valid is clear
33	test_spr_immed	0,fqop0			; fq0.opc
34
35	pass
36