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

	.include "testutils.inc"

	float_constants
	start
	load_float_constants
	load_float_constants1
	load_float_constants2
	load_float_constants3

	.global nfdmas
nfdmas:
	nfdmas      	fr16,fr4,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr4
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr4
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr16,fr8,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
	nfdmas      	fr16,fr12,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr12
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr12
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	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
	nfdmas      	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
	nfdmas      	fr16,fr24,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr24
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr24
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr16,fr28,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
	nfdmas      	fr16,fr32,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr32
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr32
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr16,fr36,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr36
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr36
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr16,fr40,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr40
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr40
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr16,fr44,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr44
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr44
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr16,fr48,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr48
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr48
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfdmas      	fr20,fr4,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr4
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr4
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr20,fr8,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
	nfdmas      	fr20,fr12,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr12
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr12
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	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
	nfdmas      	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
	nfdmas      	fr20,fr24,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr24
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr24
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr20,fr28,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
	nfdmas      	fr20,fr32,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr32
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr32
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr20,fr36,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr36
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr36
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr20,fr40,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr40
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr40
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr20,fr44,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr44
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr44
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr20,fr48,fr60
	test_fr_fr	fr60,fr16
	test_fr_fr	fr60,fr20
	test_fr_fr	fr61,fr48
	test_fr_fr	fr62,fr16
	test_fr_fr	fr62,fr20
	test_fr_fr	fr63,fr48
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfdmas      	fr28,fr0,fr60
	test_fr_fr	fr60,fr0
	test_fr_fr	fr62,fr0
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr4,fr60
	test_fr_fr	fr60,fr4
	test_fr_fr	fr62,fr4
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr8,fr60
	test_fr_fr	fr60,fr8
	test_fr_fr	fr61,fr16
	test_fr_fr	fr61,fr20
	test_fr_fr	fr62,fr8
	test_fr_fr	fr63,fr16
	test_fr_fr	fr63,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr12,fr60
	test_fr_fr	fr60,fr12
	test_fr_fr	fr62,fr12
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr16,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
	nfdmas      	fr28,fr20,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
	nfdmas      	fr28,fr24,fr60
	test_fr_fr	fr60,fr24
	test_fr_fr	fr62,fr24
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr28,fr60
	test_fr_fr	fr60,fr28
	test_fr_fr	fr62,fr28
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr32,fr60
	test_fr_fr	fr60,fr32
	test_fr_fr	fr61,fr36
	test_fr_fr	fr62,fr32
	test_fr_fr	fr63,fr36
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr36,fr60
	test_fr_fr	fr60,fr36
	test_fr_fr	fr62,fr36
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr40,fr60
	test_fr_fr	fr60,fr40
	test_fr_fr	fr62,fr40
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr44,fr60
	test_fr_fr	fr60,fr44
	test_fr_fr	fr62,fr44
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr48,fr60
	test_fr_fr	fr60,fr48
	test_fr_fr	fr62,fr48
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr28,fr52,fr60
	test_fr_fr	fr60,fr52
	test_fr_fr	fr62,fr52
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfdmas      	fr28,fr8,fr60
	test_fr_fr	fr60,fr8
	test_fr_fr	fr61,fr16
	test_fr_fr	fr61,fr20
	test_fr_fr	fr62,fr8
	test_fr_fr	fr63,fr16
	test_fr_fr	fr63,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0
	nfdmas      	fr8,fr28,fr60
	test_fr_fr	fr60,fr8
	test_fr_fr	fr61,fr16
	test_fr_fr	fr61,fr20
	test_fr_fr	fr62,fr8
	test_fr_fr	fr63,fr16
	test_fr_fr	fr63,fr20
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	nfdmas      	fr32,fr36,fr60
	test_fr_fr	fr60,fr40
	test_fr_fr	fr62,fr40
	test_spr_immed	0,fner1
	test_spr_immed	0,fner0

	; TODO -- test cases to set ne flags

	pass
