# frv testcase for nfdmss $FRi,$FRj,$FRk
# mach: frv

	.include "testutils.inc"

	float_constants
	start
	load_float_constants
	load_float_constants1
	load_float_constants2
	load_float_constants3

	.global nfdmss
nfdmss:
	nfdmss      	fr16,fr4,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr8,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr28
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr28
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr12,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr16,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr16
	test_fr_fr	fr61,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr16
	test_fr_fr	fr63,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr20,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr16
	test_fr_fr	fr61,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr16
	test_fr_fr	fr63,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr24,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr28,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr8
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr8
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr32,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr36,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr40,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr44,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr16,fr48,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfdmss      	fr20,fr4,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr8,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr28
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr28
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr12,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr16,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr16
	test_fr_fr	fr61,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr16
	test_fr_fr	fr63,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr20,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr16
	test_fr_fr	fr61,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr16
	test_fr_fr	fr63,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr24,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr28,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr8
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr8
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr32,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr36,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr40,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr44,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr20,fr48,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfdmss      	fr28,fr0,fr60
	test_fr_fr	fr60,fr0
	test_fr_fr	fr62,fr0
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr4,fr60
	test_fr_fr	fr60,fr4
	test_fr_fr	fr62,fr4
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr8,fr60
	test_fr_fr	fr60,fr8
	test_fr_fr	fr61,fr32
	test_fr_fr	fr62,fr8
	test_fr_fr	fr63,fr32
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr12,fr60
	test_fr_fr	fr60,fr12
	test_fr_fr	fr62,fr12
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr16,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr28
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr28
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr20,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr28
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr28
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr24,fr60
	test_fr_fr	fr60,fr24
	test_fr_fr	fr62,fr24
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr28,fr60
	test_fr_fr	fr60,fr28
	test_fr_fr	fr61,fr20
	test_fr_fr	fr61,fr16
	test_fr_fr	fr62,fr28
	test_fr_fr	fr63,fr20
	test_fr_fr	fr63,fr16
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr32,fr60
	test_fr_fr	fr60,fr32
	test_fr_fr	fr61,fr8
	test_fr_fr	fr62,fr32
	test_fr_fr	fr63,fr8
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr36,fr60
	test_fr_fr	fr60,fr36
	test_fr_fr	fr62,fr36
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr40,fr60
	test_fr_fr	fr60,fr40
	test_fr_fr	fr62,fr40
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr44,fr60
	test_fr_fr	fr60,fr44
	test_fr_fr	fr62,fr44
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr48,fr60
	test_fr_fr	fr60,fr48
	test_fr_fr	fr62,fr48
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr28,fr52,fr60
	test_fr_fr	fr60,fr52
	test_fr_fr	fr62,fr52
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfdmss      	fr28,fr8,fr60
	test_fr_fr	fr60,fr8
	test_fr_fr	fr61,fr32
	test_fr_fr	fr62,fr8
	test_fr_fr	fr63,fr32
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmss      	fr8,fr28,fr60
	test_fr_fr	fr60,fr8
	test_fr_fr	fr62,fr8
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfdmss      	fr32,fr36,fr60
	test_fr_fr	fr60,fr40
	test_fr_fr	fr61,fr8
	test_fr_fr	fr62,fr40
	test_fr_fr	fr63,fr8
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	; TODO -- test cases to set ne flags

	pass